@immediately-run/sdk 0.68.1 → 0.69.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 (102) hide show
  1. package/dist/agentChatClient.js +1 -1
  2. package/dist/agentContext.js +4 -4
  3. package/dist/agentLoop.js +1 -1
  4. package/dist/analytics.js +3 -3
  5. package/dist/auth.js +2 -2
  6. package/dist/boot.js +16 -16
  7. package/dist/bundle.js +1 -1
  8. package/dist/catalog.js +4 -4
  9. package/dist/chromeState.js +2 -2
  10. package/dist/components/FileRouter.js +4 -4
  11. package/dist/components/HeadingAnchor.js +4 -4
  12. package/dist/components/Include.js +5 -5
  13. package/dist/components/Link.js +5 -5
  14. package/dist/components/MDXComponents.js +10 -10
  15. package/dist/components/MainContent.js +4 -4
  16. package/dist/components/MountImage.js +1 -1
  17. package/dist/components/Routes.js +3 -3
  18. package/dist/components/SafeInclude.js +7 -7
  19. package/dist/components/ScrollAfterNavigation.js +2 -2
  20. package/dist/components/ScrollRestoration.js +4 -4
  21. package/dist/components/WikiLink.js +5 -5
  22. package/dist/components/defaults.js +1 -1
  23. package/dist/components/errors.js +1 -1
  24. package/dist/contextUtils.js +3 -3
  25. package/dist/contribute.js +2 -2
  26. package/dist/corpus.js +2 -2
  27. package/dist/debug.js +3 -3
  28. package/dist/diagnostics.js +2 -2
  29. package/dist/dialog.cjs +93 -0
  30. package/dist/dialog.cjs.map +1 -0
  31. package/dist/dialog.d.cts +47 -0
  32. package/dist/dialog.d.ts +47 -0
  33. package/dist/dialog.js +68 -0
  34. package/dist/dialog.js.map +1 -0
  35. package/dist/dnd.js +3 -3
  36. package/dist/editor.js +3 -3
  37. package/dist/editorContext.js +2 -2
  38. package/dist/feed.js +3 -3
  39. package/dist/formFactor.js +2 -2
  40. package/dist/fs.js +2 -2
  41. package/dist/generated/spaces.cjs +89 -17
  42. package/dist/generated/spaces.cjs.map +1 -1
  43. package/dist/generated/spaces.d.cts +184 -12
  44. package/dist/generated/spaces.d.ts +184 -12
  45. package/dist/generated/spaces.js +85 -18
  46. package/dist/generated/spaces.js.map +1 -1
  47. package/dist/hooks.js +2 -2
  48. package/dist/hostAttention.js +2 -2
  49. package/dist/hostTransport.js +1 -1
  50. package/dist/index.cjs +4 -0
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.d.cts +4 -2
  53. package/dist/index.d.ts +4 -2
  54. package/dist/index.js +67 -65
  55. package/dist/index.js.map +1 -1
  56. package/dist/ipc.js +3 -3
  57. package/dist/launch.js +3 -3
  58. package/dist/llm.js +3 -3
  59. package/dist/markers.js +2 -2
  60. package/dist/metadataQueryTool.js +1 -1
  61. package/dist/metadataSource.js +1 -1
  62. package/dist/moduleCache.js +2 -2
  63. package/dist/mounts.cjs +5 -16
  64. package/dist/mounts.cjs.map +1 -1
  65. package/dist/mounts.d.cts +3 -35
  66. package/dist/mounts.d.ts +3 -35
  67. package/dist/mounts.js +13 -19
  68. package/dist/mounts.js.map +1 -1
  69. package/dist/netFetch.js +4 -4
  70. package/dist/onFsChange.js +2 -2
  71. package/dist/openExternal.js +3 -3
  72. package/dist/openRepository.js +3 -3
  73. package/dist/platformLink.js +4 -4
  74. package/dist/protocolSchemes.js +1 -1
  75. package/dist/protocolStream.js +2 -2
  76. package/dist/pushChannel.js +1 -1
  77. package/dist/ready.js +1 -1
  78. package/dist/recents.js +3 -3
  79. package/dist/region.js +3 -3
  80. package/dist/routing.js +7 -7
  81. package/dist/runtime.js +4 -4
  82. package/dist/sandboxUtils.js +4 -4
  83. package/dist/secrets.js +4 -4
  84. package/dist/status.cjs +48 -0
  85. package/dist/status.cjs.map +1 -0
  86. package/dist/status.d.cts +43 -0
  87. package/dist/status.d.ts +43 -0
  88. package/dist/status.js +24 -0
  89. package/dist/status.js.map +1 -0
  90. package/dist/tasks.js +4 -4
  91. package/dist/theme.js +4 -4
  92. package/dist/urlUtils.js +1 -1
  93. package/dist/useEntryState.js +1 -1
  94. package/dist/vcs.js +4 -4
  95. package/dist/version.cjs +1 -1
  96. package/dist/version.cjs.map +1 -1
  97. package/dist/version.d.cts +1 -1
  98. package/dist/version.d.ts +1 -1
  99. package/dist/version.js +1 -1
  100. package/dist/version.js.map +1 -1
  101. package/dist/workspace.js +2 -2
  102. package/package.json +7 -5
@@ -34,6 +34,20 @@ interface GrantRecord {
34
34
  mode: 'ro' | 'rw';
35
35
  name?: string;
36
36
  }
37
+ /** A pending invitation to a space (pull-based sharing, FILE_SHARING_SPEC §6.4). It grants NO access until accepted — the recipient accepts it from their inbox ({@link listMyInvites} → {@link acceptInvite}), materializing membership. The display fields (`name`/`login`/`avatarUrl`) are untrusted for rendering. */
38
+ interface Invite {
39
+ spaceId: string;
40
+ /** The invitee's uid — carried so the owner's pending list can {@link revokeInvite}(spaceId, uid). */
41
+ uid: string;
42
+ role: Role;
43
+ owner: string;
44
+ name?: string;
45
+ invitedBy: string;
46
+ /** epoch ms (server-stamped); absent until the write settles. */
47
+ invitedAt?: number;
48
+ login?: string;
49
+ avatarUrl?: string;
50
+ }
37
51
  type ListSpacesError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';
38
52
  /**
39
53
  * List spaces you can access — all of them, or just those bound to this app.
@@ -41,9 +55,19 @@ type ListSpacesError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found'
41
55
  * Capability: `spaces:app`. Catalog name: `spaces:list`.
42
56
  * @throws `Error & { code: ListSpacesError }` on host refusal.
43
57
  */
44
- declare const listSpaces: (opts?: {
58
+ declare const listSpaces: ((opts?: {
45
59
  app?: boolean;
46
- }) => Promise<SpaceInfo[]>;
60
+ } | undefined) => Promise<SpaceInfo[]>) & {
61
+ try: (opts?: {
62
+ app?: boolean;
63
+ } | undefined) => Promise<{
64
+ ok: true;
65
+ value: SpaceInfo[];
66
+ } | {
67
+ ok: false;
68
+ code: ListSpacesError;
69
+ }>;
70
+ };
47
71
  type ListAllSpacesError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';
48
72
  /**
49
73
  * Enumerate ALL the user's spaces (not just this app's).
@@ -51,7 +75,15 @@ type ListAllSpacesError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-fou
51
75
  * Capability: `spaces:user`. Catalog name: `spaces:listAll`.
52
76
  * @throws `Error & { code: ListAllSpacesError }` on host refusal.
53
77
  */
54
- declare const listAllSpaces: () => Promise<SpaceInfo[]>;
78
+ declare const listAllSpaces: (() => Promise<SpaceInfo[]>) & {
79
+ try: () => Promise<{
80
+ ok: true;
81
+ value: SpaceInfo[];
82
+ } | {
83
+ ok: false;
84
+ code: ListAllSpacesError;
85
+ }>;
86
+ };
55
87
  type GetSpaceMembersError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';
56
88
  /**
57
89
  * Read a space's members one-shot.
@@ -59,8 +91,16 @@ type GetSpaceMembersError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-f
59
91
  * Capability: `spaces:admin`. Catalog name: `spaces:members`.
60
92
  * @throws `Error & { code: GetSpaceMembersError }` on host refusal.
61
93
  */
62
- declare const getSpaceMembers: (spaceId: string) => Promise<Member[]>;
63
- type InviteToSpaceError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';
94
+ declare const getSpaceMembers: ((args_0: string) => Promise<Member[]>) & {
95
+ try: (args_0: string) => Promise<{
96
+ ok: true;
97
+ value: Member[];
98
+ } | {
99
+ ok: false;
100
+ code: GetSpaceMembersError;
101
+ }>;
102
+ };
103
+ type InviteToSpaceError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown' | 'quota-exceeded';
64
104
  /**
65
105
  * Invite a user (by provider handle) to a space at a role. The host resolves
66
106
  * the handle, so the app never sees other users' uids except the one it
@@ -71,7 +111,15 @@ type InviteToSpaceError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-fou
71
111
  * Capability: `spaces:admin`. Catalog name: `spaces:invite`.
72
112
  * @throws `Error & { code: InviteToSpaceError }` on host refusal.
73
113
  */
74
- declare const inviteToSpace: (spaceId: string, login: string, role: Role) => Promise<void>;
114
+ declare const inviteToSpace: ((args_0: string, args_1: string, args_2: Role) => Promise<void>) & {
115
+ try: (args_0: string, args_1: string, args_2: Role) => Promise<{
116
+ ok: true;
117
+ value: void;
118
+ } | {
119
+ ok: false;
120
+ code: InviteToSpaceError;
121
+ }>;
122
+ };
75
123
  type UnshareSpaceError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown' | 'conflict';
76
124
  /**
77
125
  * Remove a member from a space. Refused if it would orphan the space
@@ -80,7 +128,15 @@ type UnshareSpaceError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-foun
80
128
  * Capability: `spaces:admin`. Catalog name: `spaces:unshare`.
81
129
  * @throws `Error & { code: UnshareSpaceError }` on host refusal.
82
130
  */
83
- declare const unshareSpace: (spaceId: string, uid: string) => Promise<void>;
131
+ declare const unshareSpace: ((args_0: string, args_1: string) => Promise<void>) & {
132
+ try: (args_0: string, args_1: string) => Promise<{
133
+ ok: true;
134
+ value: void;
135
+ } | {
136
+ ok: false;
137
+ code: UnshareSpaceError;
138
+ }>;
139
+ };
84
140
  type SetSpaceRoleError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown' | 'conflict';
85
141
  /**
86
142
  * Change a member's role. Refused if it would drop the sole owner
@@ -89,7 +145,15 @@ type SetSpaceRoleError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-foun
89
145
  * Capability: `spaces:admin`. Catalog name: `spaces:setRole`.
90
146
  * @throws `Error & { code: SetSpaceRoleError }` on host refusal.
91
147
  */
92
- declare const setSpaceRole: (spaceId: string, uid: string, role: Role) => Promise<void>;
148
+ declare const setSpaceRole: ((args_0: string, args_1: string, args_2: Role) => Promise<void>) & {
149
+ try: (args_0: string, args_1: string, args_2: Role) => Promise<{
150
+ ok: true;
151
+ value: void;
152
+ } | {
153
+ ok: false;
154
+ code: SetSpaceRoleError;
155
+ }>;
156
+ };
93
157
  type LookupUserError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';
94
158
  /**
95
159
  * Resolve a provider handle to a principal (for the invite flow).
@@ -98,7 +162,15 @@ type LookupUserError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found'
98
162
  * Capability: `spaces:admin`. Catalog name: `spaces:lookupUser`.
99
163
  * @throws `Error & { code: LookupUserError }` on host refusal.
100
164
  */
101
- declare const lookupUser: (login: string) => Promise<ResolvedUser>;
165
+ declare const lookupUser: ((args_0: string) => Promise<ResolvedUser>) & {
166
+ try: (args_0: string) => Promise<{
167
+ ok: true;
168
+ value: ResolvedUser;
169
+ } | {
170
+ ok: false;
171
+ code: LookupUserError;
172
+ }>;
173
+ };
102
174
  type ListGrantsError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';
103
175
  /**
104
176
  * Enumerate every (app, mount) grant the user holds — the audit view
@@ -107,7 +179,15 @@ type ListGrantsError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found'
107
179
  * Capability: `spaces:admin`. Catalog name: `spaces:grants`.
108
180
  * @throws `Error & { code: ListGrantsError }` on host refusal.
109
181
  */
110
- declare const listGrants: () => Promise<GrantRecord[]>;
182
+ declare const listGrants: (() => Promise<GrantRecord[]>) & {
183
+ try: () => Promise<{
184
+ ok: true;
185
+ value: GrantRecord[];
186
+ } | {
187
+ ok: false;
188
+ code: ListGrantsError;
189
+ }>;
190
+ };
111
191
  type RevokeGrantError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';
112
192
  /**
113
193
  * Revoke one app's grant on a space — durable (the app can't re-mount) plus
@@ -116,6 +196,98 @@ type RevokeGrantError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found
116
196
  * Capability: `spaces:admin`. Catalog name: `spaces:revokeGrant`.
117
197
  * @throws `Error & { code: RevokeGrantError }` on host refusal.
118
198
  */
119
- declare const revokeGrant: (appKey: string, spaceId: string) => Promise<void>;
199
+ declare const revokeGrant: ((args_0: string, args_1: string) => Promise<void>) & {
200
+ try: (args_0: string, args_1: string) => Promise<{
201
+ ok: true;
202
+ value: void;
203
+ } | {
204
+ ok: false;
205
+ code: RevokeGrantError;
206
+ }>;
207
+ };
208
+ type ListPendingInvitesError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';
209
+ /**
210
+ * The owner's outstanding invitations for a space.
211
+ *
212
+ * Capability: `spaces:admin`. Catalog name: `spaces:pendingInvites`.
213
+ * @throws `Error & { code: ListPendingInvitesError }` on host refusal.
214
+ */
215
+ declare const listPendingInvites: ((args_0: string) => Promise<Invite[]>) & {
216
+ try: (args_0: string) => Promise<{
217
+ ok: true;
218
+ value: Invite[];
219
+ } | {
220
+ ok: false;
221
+ code: ListPendingInvitesError;
222
+ }>;
223
+ };
224
+ type RevokeInviteError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';
225
+ /**
226
+ * Withdraw a pending invitation (distinct from {@link unshareSpace}, which
227
+ * removes an ACCEPTED member).
228
+ *
229
+ * Capability: `spaces:admin`. Catalog name: `spaces:revokeInvite`.
230
+ * @throws `Error & { code: RevokeInviteError }` on host refusal.
231
+ */
232
+ declare const revokeInvite: ((args_0: string, args_1: string) => Promise<void>) & {
233
+ try: (args_0: string, args_1: string) => Promise<{
234
+ ok: true;
235
+ value: void;
236
+ } | {
237
+ ok: false;
238
+ code: RevokeInviteError;
239
+ }>;
240
+ };
241
+ type ListMyInvitesError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';
242
+ /**
243
+ * The caller's OWN invitation inbox.
244
+ *
245
+ * Capability: `spaces:user`. Catalog name: `spaces:listInvites`.
246
+ * @throws `Error & { code: ListMyInvitesError }` on host refusal.
247
+ */
248
+ declare const listMyInvites: (() => Promise<Invite[]>) & {
249
+ try: () => Promise<{
250
+ ok: true;
251
+ value: Invite[];
252
+ } | {
253
+ ok: false;
254
+ code: ListMyInvitesError;
255
+ }>;
256
+ };
257
+ type AcceptInviteError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';
258
+ /**
259
+ * Accept an invitation: materialize your membership at the invited role and
260
+ * clear the invite. An invitation the caller doesn't hold rejects with
261
+ * `forbidden` (indistinguishable from a nonexistent space; no existence
262
+ * oracle).
263
+ *
264
+ * Capability: `spaces:user`. Catalog name: `spaces:acceptInvite`.
265
+ * @throws `Error & { code: AcceptInviteError }` on host refusal.
266
+ */
267
+ declare const acceptInvite: ((args_0: string) => Promise<void>) & {
268
+ try: (args_0: string) => Promise<{
269
+ ok: true;
270
+ value: void;
271
+ } | {
272
+ ok: false;
273
+ code: AcceptInviteError;
274
+ }>;
275
+ };
276
+ type DeclineInviteError = 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';
277
+ /**
278
+ * Decline (dismiss) an invitation from your inbox; writes no membership.
279
+ *
280
+ * Capability: `spaces:user`. Catalog name: `spaces:declineInvite`.
281
+ * @throws `Error & { code: DeclineInviteError }` on host refusal.
282
+ */
283
+ declare const declineInvite: ((args_0: string) => Promise<void>) & {
284
+ try: (args_0: string) => Promise<{
285
+ ok: true;
286
+ value: void;
287
+ } | {
288
+ ok: false;
289
+ code: DeclineInviteError;
290
+ }>;
291
+ };
120
292
 
121
- export { type GetSpaceMembersError, type GrantRecord, type InviteToSpaceError, type ListAllSpacesError, type ListGrantsError, type ListSpacesError, type LookupUserError, type Member, type ResolvedUser, type RevokeGrantError, type Role, type SetSpaceRoleError, type SpaceInfo, type UnshareSpaceError, getSpaceMembers, inviteToSpace, listAllSpaces, listGrants, listSpaces, lookupUser, revokeGrant, setSpaceRole, unshareSpace };
293
+ export { type AcceptInviteError, type DeclineInviteError, type GetSpaceMembersError, type GrantRecord, type Invite, type InviteToSpaceError, type ListAllSpacesError, type ListGrantsError, type ListMyInvitesError, type ListPendingInvitesError, type ListSpacesError, type LookupUserError, type Member, type ResolvedUser, type RevokeGrantError, type RevokeInviteError, type Role, type SetSpaceRoleError, type SpaceInfo, type UnshareSpaceError, acceptInvite, declineInvite, getSpaceMembers, inviteToSpace, listAllSpaces, listGrants, listMyInvites, listPendingInvites, listSpaces, lookupUser, revokeGrant, revokeInvite, setSpaceRole, unshareSpace };
@@ -1,30 +1,97 @@
1
1
  import "../chunk-VHAA22YE.js";
2
- import { invoke } from "../catalog";
3
- const listSpaces = (opts = {}) => invoke("spaces:list", opts);
4
- const listAllSpaces = () => invoke("spaces:listAll", {});
5
- const getSpaceMembers = (spaceId) => invoke("spaces:members", { spaceId });
6
- const inviteToSpace = async (spaceId, login, role) => {
7
- await invoke("spaces:invite", { spaceId, login, role });
8
- };
9
- const unshareSpace = async (spaceId, uid) => {
10
- await invoke("spaces:unshare", { spaceId, uid });
11
- };
12
- const setSpaceRole = async (spaceId, uid, role) => {
13
- await invoke("spaces:setRole", { spaceId, uid, role });
14
- };
15
- const lookupUser = (login) => invoke("spaces:lookupUser", { login });
16
- const listGrants = () => invoke("spaces:grants", {});
17
- const revokeGrant = async (appKey, spaceId) => {
18
- await invoke("spaces:revokeGrant", { appKey, spaceId });
19
- };
2
+ import { invoke } from "../catalog.js";
3
+ const withTry = (fn, fallback) => Object.assign(fn, {
4
+ try: async (...args) => {
5
+ try {
6
+ return { ok: true, value: await fn(...args) };
7
+ } catch (e) {
8
+ return { ok: false, code: e.code ?? fallback };
9
+ }
10
+ }
11
+ });
12
+ const listSpaces = withTry(
13
+ (opts = {}) => invoke("spaces:list", opts),
14
+ "unknown"
15
+ );
16
+ const listAllSpaces = withTry(
17
+ () => invoke("spaces:listAll", {}),
18
+ "unknown"
19
+ );
20
+ const getSpaceMembers = withTry(
21
+ (spaceId) => invoke("spaces:members", { spaceId }),
22
+ "unknown"
23
+ );
24
+ const inviteToSpace = withTry(
25
+ async (spaceId, login, role) => {
26
+ await invoke("spaces:invite", { spaceId, login, role });
27
+ },
28
+ "unknown"
29
+ );
30
+ const unshareSpace = withTry(
31
+ async (spaceId, uid) => {
32
+ await invoke("spaces:unshare", { spaceId, uid });
33
+ },
34
+ "unknown"
35
+ );
36
+ const setSpaceRole = withTry(
37
+ async (spaceId, uid, role) => {
38
+ await invoke("spaces:setRole", { spaceId, uid, role });
39
+ },
40
+ "unknown"
41
+ );
42
+ const lookupUser = withTry(
43
+ (login) => invoke("spaces:lookupUser", { login }),
44
+ "unknown"
45
+ );
46
+ const listGrants = withTry(
47
+ () => invoke("spaces:grants", {}),
48
+ "unknown"
49
+ );
50
+ const revokeGrant = withTry(
51
+ async (appKey, spaceId) => {
52
+ await invoke("spaces:revokeGrant", { appKey, spaceId });
53
+ },
54
+ "unknown"
55
+ );
56
+ const listPendingInvites = withTry(
57
+ (spaceId) => invoke("spaces:pendingInvites", { spaceId }),
58
+ "unknown"
59
+ );
60
+ const revokeInvite = withTry(
61
+ async (spaceId, uid) => {
62
+ await invoke("spaces:revokeInvite", { spaceId, uid });
63
+ },
64
+ "unknown"
65
+ );
66
+ const listMyInvites = withTry(
67
+ () => invoke("spaces:listInvites", {}),
68
+ "unknown"
69
+ );
70
+ const acceptInvite = withTry(
71
+ async (spaceId) => {
72
+ await invoke("spaces:acceptInvite", { spaceId });
73
+ },
74
+ "unknown"
75
+ );
76
+ const declineInvite = withTry(
77
+ async (spaceId) => {
78
+ await invoke("spaces:declineInvite", { spaceId });
79
+ },
80
+ "unknown"
81
+ );
20
82
  export {
83
+ acceptInvite,
84
+ declineInvite,
21
85
  getSpaceMembers,
22
86
  inviteToSpace,
23
87
  listAllSpaces,
24
88
  listGrants,
89
+ listMyInvites,
90
+ listPendingInvites,
25
91
  listSpaces,
26
92
  lookupUser,
27
93
  revokeGrant,
94
+ revokeInvite,
28
95
  setSpaceRole,
29
96
  unshareSpace
30
97
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/generated/spaces.ts"],"sourcesContent":["// GENERATED by scripts/codegen-prototype/generate.mjs — DO NOT EDIT.\n// Source of truth: descriptors.spaces.mjs\n// Family: spaces — Space management (the space-manager app) — UI_AS_APPS_SPEC §5.\n\nimport { invoke } from '../catalog';\n\n/** A collaborator's role on a shared space: full `owner`, read-write `writer`, or read-only `reader`. */\nexport type Role =\n | 'owner'\n | 'writer'\n | 'reader';\n\n/** Summary of a space, as returned by {@link listSpaces}. */\nexport interface SpaceInfo {\n spaceId: string;\n role?: Role;\n owner?: string;\n name?: string;\n}\n\n/** A member of a space (for the share/manage UI). */\nexport interface Member {\n /** The **grantee** — `user:{uid}` | `group:{gid}`. This is the canonical name (core_concepts §4: \"principal\" is reserved for the authority context; a space member is a *grantee*). The host populates this on every member row. */\n grantee: string;\n /** @deprecated Use {@link Member.grantee}. Kept as an alias (same value) for back-compat during the `principal`→`grantee` migration; will be removed in a future major. The host still populates both. */\n principal: string;\n role: Role;\n login?: string;\n avatarUrl?: string;\n}\n\n/** A handle resolved to a principal (handle → who). */\nexport interface ResolvedUser {\n uid: string;\n login: string;\n avatarUrl?: string;\n}\n\n/** One durable grant an app holds, for the §8.11 capability audit view. */\nexport interface GrantRecord {\n /** The app's provider-qualified **program** identity (AA-01 `appKey`). The DEFAULT program keys to the bare `provider__namespace__repository`; a NAMED mini-app appends a fourth `enc()`-escaped component (`provider__namespace__repository__name`) so its grants isolate from the repo's other programs. Host-supplied — the app never builds this key. */\n appKey: string;\n spaceId: string;\n /** Universal mount id (§3.5). */\n mountId: string;\n subtree?: string;\n mode: 'ro' | 'rw';\n name?: string;\n}\n\nexport type ListSpacesError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * List spaces you can access — all of them, or just those bound to this app.\n *\n * Capability: `spaces:app`. Catalog name: `spaces:list`.\n * @throws `Error & { code: ListSpacesError }` on host refusal.\n */\nexport const listSpaces = (opts: { app?: boolean } = {}): Promise<SpaceInfo[]> =>\n invoke<SpaceInfo[]>(\"spaces:list\", opts);\n\nexport type ListAllSpacesError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Enumerate ALL the user's spaces (not just this app's).\n *\n * Capability: `spaces:user`. Catalog name: `spaces:listAll`.\n * @throws `Error & { code: ListAllSpacesError }` on host refusal.\n */\nexport const listAllSpaces = (): Promise<SpaceInfo[]> =>\n invoke<SpaceInfo[]>(\"spaces:listAll\", {});\n\nexport type GetSpaceMembersError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Read a space's members one-shot.\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:members`.\n * @throws `Error & { code: GetSpaceMembersError }` on host refusal.\n */\nexport const getSpaceMembers = (spaceId: string): Promise<Member[]> =>\n invoke<Member[]>(\"spaces:members\", { spaceId });\n\nexport type InviteToSpaceError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Invite a user (by provider handle) to a space at a role. The host resolves\n * the handle, so the app never sees other users' uids except the one it\n * invited. Pull-based (FILE_SHARING_SPEC §6.4): this writes an INVITATION,\n * not membership — the recipient must {@link acceptInvite}. Re-inviting an\n * already-invited/member user is idempotent.\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:invite`.\n * @throws `Error & { code: InviteToSpaceError }` on host refusal.\n */\nexport const inviteToSpace = async (spaceId: string, login: string, role: Role): Promise<void> => { await invoke<void>(\"spaces:invite\", { spaceId, login, role }); };\n\nexport type UnshareSpaceError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown' | 'conflict';\n\n/**\n * Remove a member from a space. Refused if it would orphan the space\n * (owner-lockout, T41).\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:unshare`.\n * @throws `Error & { code: UnshareSpaceError }` on host refusal.\n */\nexport const unshareSpace = async (spaceId: string, uid: string): Promise<void> => { await invoke<void>(\"spaces:unshare\", { spaceId, uid }); };\n\nexport type SetSpaceRoleError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown' | 'conflict';\n\n/**\n * Change a member's role. Refused if it would drop the sole owner\n * (owner-lockout, T41).\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:setRole`.\n * @throws `Error & { code: SetSpaceRoleError }` on host refusal.\n */\nexport const setSpaceRole = async (spaceId: string, uid: string, role: Role): Promise<void> => { await invoke<void>(\"spaces:setRole\", { spaceId, uid, role }); };\n\nexport type LookupUserError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Resolve a provider handle to a principal (for the invite flow).\n * Rate-limited host-side.\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:lookupUser`.\n * @throws `Error & { code: LookupUserError }` on host refusal.\n */\nexport const lookupUser = (login: string): Promise<ResolvedUser> =>\n invoke<ResolvedUser>(\"spaces:lookupUser\", { login });\n\nexport type ListGrantsError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Enumerate every (app, mount) grant the user holds — the audit view\n * (§8.11). Elevated.\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:grants`.\n * @throws `Error & { code: ListGrantsError }` on host refusal.\n */\nexport const listGrants = (): Promise<GrantRecord[]> =>\n invoke<GrantRecord[]>(\"spaces:grants\", {});\n\nexport type RevokeGrantError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Revoke one app's grant on a space — durable (the app can't re-mount) plus\n * a best-effort live teardown. Elevated.\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:revokeGrant`.\n * @throws `Error & { code: RevokeGrantError }` on host refusal.\n */\nexport const revokeGrant = async (appKey: string, spaceId: string): Promise<void> => { await invoke<void>(\"spaces:revokeGrant\", { appKey, spaceId }); };\n\n"],"mappings":";AAIA,SAAS,cAAc;AAuDhB,MAAM,aAAa,CAAC,OAA0B,CAAC,MACpD,OAAoB,eAAe,IAAI;AAWlC,MAAM,gBAAgB,MAC3B,OAAoB,kBAAkB,CAAC,CAAC;AAWnC,MAAM,kBAAkB,CAAC,YAC9B,OAAiB,kBAAkB,EAAE,QAAQ,CAAC;AAezC,MAAM,gBAAgB,OAAO,SAAiB,OAAe,SAA8B;AAAE,QAAM,OAAa,iBAAiB,EAAE,SAAS,OAAO,KAAK,CAAC;AAAG;AAY5J,MAAM,eAAe,OAAO,SAAiB,QAA+B;AAAE,QAAM,OAAa,kBAAkB,EAAE,SAAS,IAAI,CAAC;AAAG;AAYtI,MAAM,eAAe,OAAO,SAAiB,KAAa,SAA8B;AAAE,QAAM,OAAa,kBAAkB,EAAE,SAAS,KAAK,KAAK,CAAC;AAAG;AAYxJ,MAAM,aAAa,CAAC,UACzB,OAAqB,qBAAqB,EAAE,MAAM,CAAC;AAY9C,MAAM,aAAa,MACxB,OAAsB,iBAAiB,CAAC,CAAC;AAYpC,MAAM,cAAc,OAAO,QAAgB,YAAmC;AAAE,QAAM,OAAa,sBAAsB,EAAE,QAAQ,QAAQ,CAAC;AAAG;","names":[]}
1
+ {"version":3,"sources":["../../src/generated/spaces.ts"],"sourcesContent":["// GENERATED by scripts/codegen-prototype/generate.mjs — DO NOT EDIT.\n// Source of truth: descriptors.spaces.mjs\n// Family: spaces — Space management (the space-manager app) — UI_AS_APPS_SPEC §5.\n\nimport { invoke } from '../catalog';\n\nconst withTry = <Args extends unknown[], R, E extends string>(\n fn: (...args: Args) => Promise<R>,\n fallback: E,\n): ((...args: Args) => Promise<R>) & { try: (...args: Args) => Promise<{ ok: true; value: R } | { ok: false; code: E }> } =>\n Object.assign(fn, {\n try: async (...args: Args) => {\n try {\n return { ok: true as const, value: await fn(...args) };\n } catch (e) {\n return { ok: false as const, code: (e as { code?: E }).code ?? fallback };\n }\n },\n });\n\n/** A collaborator's role on a shared space: full `owner`, read-write `writer`, or read-only `reader`. */\nexport type Role =\n | 'owner'\n | 'writer'\n | 'reader';\n\n/** Summary of a space, as returned by {@link listSpaces}. */\nexport interface SpaceInfo {\n spaceId: string;\n role?: Role;\n owner?: string;\n name?: string;\n}\n\n/** A member of a space (for the share/manage UI). */\nexport interface Member {\n /** The **grantee** — `user:{uid}` | `group:{gid}`. This is the canonical name (core_concepts §4: \"principal\" is reserved for the authority context; a space member is a *grantee*). The host populates this on every member row. */\n grantee: string;\n /** @deprecated Use {@link Member.grantee}. Kept as an alias (same value) for back-compat during the `principal`→`grantee` migration; will be removed in a future major. The host still populates both. */\n principal: string;\n role: Role;\n login?: string;\n avatarUrl?: string;\n}\n\n/** A handle resolved to a principal (handle → who). */\nexport interface ResolvedUser {\n uid: string;\n login: string;\n avatarUrl?: string;\n}\n\n/** One durable grant an app holds, for the §8.11 capability audit view. */\nexport interface GrantRecord {\n /** The app's provider-qualified **program** identity (AA-01 `appKey`). The DEFAULT program keys to the bare `provider__namespace__repository`; a NAMED mini-app appends a fourth `enc()`-escaped component (`provider__namespace__repository__name`) so its grants isolate from the repo's other programs. Host-supplied — the app never builds this key. */\n appKey: string;\n spaceId: string;\n /** Universal mount id (§3.5). */\n mountId: string;\n subtree?: string;\n mode: 'ro' | 'rw';\n name?: string;\n}\n\n/** A pending invitation to a space (pull-based sharing, FILE_SHARING_SPEC §6.4). It grants NO access until accepted — the recipient accepts it from their inbox ({@link listMyInvites} → {@link acceptInvite}), materializing membership. The display fields (`name`/`login`/`avatarUrl`) are untrusted for rendering. */\nexport interface Invite {\n spaceId: string;\n /** The invitee's uid — carried so the owner's pending list can {@link revokeInvite}(spaceId, uid). */\n uid: string;\n role: Role;\n owner: string;\n name?: string;\n invitedBy: string;\n /** epoch ms (server-stamped); absent until the write settles. */\n invitedAt?: number;\n login?: string;\n avatarUrl?: string;\n}\n\nexport type ListSpacesError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * List spaces you can access — all of them, or just those bound to this app.\n *\n * Capability: `spaces:app`. Catalog name: `spaces:list`.\n * @throws `Error & { code: ListSpacesError }` on host refusal.\n */\nexport const listSpaces = withTry<[opts?: { app?: boolean }], SpaceInfo[], ListSpacesError>(\n (opts: { app?: boolean } = {}): Promise<SpaceInfo[]> =>\n invoke<SpaceInfo[]>(\"spaces:list\", opts),\n 'unknown',\n);\n\nexport type ListAllSpacesError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Enumerate ALL the user's spaces (not just this app's).\n *\n * Capability: `spaces:user`. Catalog name: `spaces:listAll`.\n * @throws `Error & { code: ListAllSpacesError }` on host refusal.\n */\nexport const listAllSpaces = withTry<[], SpaceInfo[], ListAllSpacesError>(\n (): Promise<SpaceInfo[]> =>\n invoke<SpaceInfo[]>(\"spaces:listAll\", {}),\n 'unknown',\n);\n\nexport type GetSpaceMembersError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Read a space's members one-shot.\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:members`.\n * @throws `Error & { code: GetSpaceMembersError }` on host refusal.\n */\nexport const getSpaceMembers = withTry<[string], Member[], GetSpaceMembersError>(\n (spaceId: string): Promise<Member[]> =>\n invoke<Member[]>(\"spaces:members\", { spaceId }),\n 'unknown',\n);\n\nexport type InviteToSpaceError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown' | 'quota-exceeded';\n\n/**\n * Invite a user (by provider handle) to a space at a role. The host resolves\n * the handle, so the app never sees other users' uids except the one it\n * invited. Pull-based (FILE_SHARING_SPEC §6.4): this writes an INVITATION,\n * not membership — the recipient must {@link acceptInvite}. Re-inviting an\n * already-invited/member user is idempotent.\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:invite`.\n * @throws `Error & { code: InviteToSpaceError }` on host refusal.\n */\nexport const inviteToSpace = withTry<[string, string, Role], void, InviteToSpaceError>(\n async (spaceId: string, login: string, role: Role): Promise<void> => { await invoke<void>(\"spaces:invite\", { spaceId, login, role }); },\n 'unknown',\n);\n\nexport type UnshareSpaceError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown' | 'conflict';\n\n/**\n * Remove a member from a space. Refused if it would orphan the space\n * (owner-lockout, T41).\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:unshare`.\n * @throws `Error & { code: UnshareSpaceError }` on host refusal.\n */\nexport const unshareSpace = withTry<[string, string], void, UnshareSpaceError>(\n async (spaceId: string, uid: string): Promise<void> => { await invoke<void>(\"spaces:unshare\", { spaceId, uid }); },\n 'unknown',\n);\n\nexport type SetSpaceRoleError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown' | 'conflict';\n\n/**\n * Change a member's role. Refused if it would drop the sole owner\n * (owner-lockout, T41).\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:setRole`.\n * @throws `Error & { code: SetSpaceRoleError }` on host refusal.\n */\nexport const setSpaceRole = withTry<[string, string, Role], void, SetSpaceRoleError>(\n async (spaceId: string, uid: string, role: Role): Promise<void> => { await invoke<void>(\"spaces:setRole\", { spaceId, uid, role }); },\n 'unknown',\n);\n\nexport type LookupUserError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Resolve a provider handle to a principal (for the invite flow).\n * Rate-limited host-side.\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:lookupUser`.\n * @throws `Error & { code: LookupUserError }` on host refusal.\n */\nexport const lookupUser = withTry<[string], ResolvedUser, LookupUserError>(\n (login: string): Promise<ResolvedUser> =>\n invoke<ResolvedUser>(\"spaces:lookupUser\", { login }),\n 'unknown',\n);\n\nexport type ListGrantsError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Enumerate every (app, mount) grant the user holds — the audit view\n * (§8.11). Elevated.\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:grants`.\n * @throws `Error & { code: ListGrantsError }` on host refusal.\n */\nexport const listGrants = withTry<[], GrantRecord[], ListGrantsError>(\n (): Promise<GrantRecord[]> =>\n invoke<GrantRecord[]>(\"spaces:grants\", {}),\n 'unknown',\n);\n\nexport type RevokeGrantError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Revoke one app's grant on a space — durable (the app can't re-mount) plus\n * a best-effort live teardown. Elevated.\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:revokeGrant`.\n * @throws `Error & { code: RevokeGrantError }` on host refusal.\n */\nexport const revokeGrant = withTry<[string, string], void, RevokeGrantError>(\n async (appKey: string, spaceId: string): Promise<void> => { await invoke<void>(\"spaces:revokeGrant\", { appKey, spaceId }); },\n 'unknown',\n);\n\nexport type ListPendingInvitesError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * The owner's outstanding invitations for a space.\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:pendingInvites`.\n * @throws `Error & { code: ListPendingInvitesError }` on host refusal.\n */\nexport const listPendingInvites = withTry<[string], Invite[], ListPendingInvitesError>(\n (spaceId: string): Promise<Invite[]> =>\n invoke<Invite[]>(\"spaces:pendingInvites\", { spaceId }),\n 'unknown',\n);\n\nexport type RevokeInviteError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Withdraw a pending invitation (distinct from {@link unshareSpace}, which\n * removes an ACCEPTED member).\n *\n * Capability: `spaces:admin`. Catalog name: `spaces:revokeInvite`.\n * @throws `Error & { code: RevokeInviteError }` on host refusal.\n */\nexport const revokeInvite = withTry<[string, string], void, RevokeInviteError>(\n async (spaceId: string, uid: string): Promise<void> => { await invoke<void>(\"spaces:revokeInvite\", { spaceId, uid }); },\n 'unknown',\n);\n\nexport type ListMyInvitesError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * The caller's OWN invitation inbox.\n *\n * Capability: `spaces:user`. Catalog name: `spaces:listInvites`.\n * @throws `Error & { code: ListMyInvitesError }` on host refusal.\n */\nexport const listMyInvites = withTry<[], Invite[], ListMyInvitesError>(\n (): Promise<Invite[]> =>\n invoke<Invite[]>(\"spaces:listInvites\", {}),\n 'unknown',\n);\n\nexport type AcceptInviteError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Accept an invitation: materialize your membership at the invited role and\n * clear the invite. An invitation the caller doesn't hold rejects with\n * `forbidden` (indistinguishable from a nonexistent space; no existence\n * oracle).\n *\n * Capability: `spaces:user`. Catalog name: `spaces:acceptInvite`.\n * @throws `Error & { code: AcceptInviteError }` on host refusal.\n */\nexport const acceptInvite = withTry<[string], void, AcceptInviteError>(\n async (spaceId: string): Promise<void> => { await invoke<void>(\"spaces:acceptInvite\", { spaceId }); },\n 'unknown',\n);\n\nexport type DeclineInviteError =\n 'auth-required' | 'cancelled' | 'forbidden' | 'not-found' | 'unsupported-scheme' | 'unknown';\n\n/**\n * Decline (dismiss) an invitation from your inbox; writes no membership.\n *\n * Capability: `spaces:user`. Catalog name: `spaces:declineInvite`.\n * @throws `Error & { code: DeclineInviteError }` on host refusal.\n */\nexport const declineInvite = withTry<[string], void, DeclineInviteError>(\n async (spaceId: string): Promise<void> => { await invoke<void>(\"spaces:declineInvite\", { spaceId }); },\n 'unknown',\n);\n\n"],"mappings":";AAIA,SAAS,cAAc;AAEvB,MAAM,UAAU,CACd,IACA,aAEA,OAAO,OAAO,IAAI;AAAA,EAChB,KAAK,UAAU,SAAe;AAC5B,QAAI;AACF,aAAO,EAAE,IAAI,MAAe,OAAO,MAAM,GAAG,GAAG,IAAI,EAAE;AAAA,IACvD,SAAS,GAAG;AACV,aAAO,EAAE,IAAI,OAAgB,MAAO,EAAmB,QAAQ,SAAS;AAAA,IAC1E;AAAA,EACF;AACF,CAAC;AAsEI,MAAM,aAAa;AAAA,EACxB,CAAC,OAA0B,CAAC,MAC1B,OAAoB,eAAe,IAAI;AAAA,EACzC;AACF;AAWO,MAAM,gBAAgB;AAAA,EAC3B,MACE,OAAoB,kBAAkB,CAAC,CAAC;AAAA,EAC1C;AACF;AAWO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,YACC,OAAiB,kBAAkB,EAAE,QAAQ,CAAC;AAAA,EAChD;AACF;AAeO,MAAM,gBAAgB;AAAA,EAC3B,OAAO,SAAiB,OAAe,SAA8B;AAAE,UAAM,OAAa,iBAAiB,EAAE,SAAS,OAAO,KAAK,CAAC;AAAA,EAAG;AAAA,EACtI;AACF;AAYO,MAAM,eAAe;AAAA,EAC1B,OAAO,SAAiB,QAA+B;AAAE,UAAM,OAAa,kBAAkB,EAAE,SAAS,IAAI,CAAC;AAAA,EAAG;AAAA,EACjH;AACF;AAYO,MAAM,eAAe;AAAA,EAC1B,OAAO,SAAiB,KAAa,SAA8B;AAAE,UAAM,OAAa,kBAAkB,EAAE,SAAS,KAAK,KAAK,CAAC;AAAA,EAAG;AAAA,EACnI;AACF;AAYO,MAAM,aAAa;AAAA,EACxB,CAAC,UACC,OAAqB,qBAAqB,EAAE,MAAM,CAAC;AAAA,EACrD;AACF;AAYO,MAAM,aAAa;AAAA,EACxB,MACE,OAAsB,iBAAiB,CAAC,CAAC;AAAA,EAC3C;AACF;AAYO,MAAM,cAAc;AAAA,EACzB,OAAO,QAAgB,YAAmC;AAAE,UAAM,OAAa,sBAAsB,EAAE,QAAQ,QAAQ,CAAC;AAAA,EAAG;AAAA,EAC3H;AACF;AAWO,MAAM,qBAAqB;AAAA,EAChC,CAAC,YACC,OAAiB,yBAAyB,EAAE,QAAQ,CAAC;AAAA,EACvD;AACF;AAYO,MAAM,eAAe;AAAA,EAC1B,OAAO,SAAiB,QAA+B;AAAE,UAAM,OAAa,uBAAuB,EAAE,SAAS,IAAI,CAAC;AAAA,EAAG;AAAA,EACtH;AACF;AAWO,MAAM,gBAAgB;AAAA,EAC3B,MACE,OAAiB,sBAAsB,CAAC,CAAC;AAAA,EAC3C;AACF;AAcO,MAAM,eAAe;AAAA,EAC1B,OAAO,YAAmC;AAAE,UAAM,OAAa,uBAAuB,EAAE,QAAQ,CAAC;AAAA,EAAG;AAAA,EACpG;AACF;AAWO,MAAM,gBAAgB;AAAA,EAC3B,OAAO,YAAmC;AAAE,UAAM,OAAa,wBAAwB,EAAE,QAAQ,CAAC;AAAA,EAAG;AAAA,EACrG;AACF;","names":[]}
package/dist/hooks.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import "./chunk-VHAA22YE.js";
2
2
  import { APP_ROOT, underAppRoot } from "@immediately-run/platform-constants";
3
3
  import { useEffect, useMemo, useRef, useState } from "react";
4
- import { openFs } from "./fs";
5
- import { useMetadataStore } from "./metadataSource";
4
+ import { openFs } from "./fs.js";
5
+ import { useMetadataStore } from "./metadataSource.js";
6
6
  const entriesEqual = (a, b) => {
7
7
  if (a.length !== b.length) {
8
8
  return false;
@@ -1,6 +1,6 @@
1
1
  import "./chunk-VHAA22YE.js";
2
- import { createPushChannel } from "./pushChannel";
3
- import { HOST_ATTENTION, REQUEST_HOST_ATTENTION } from "./generated/protocol";
2
+ import { createPushChannel } from "./pushChannel.js";
3
+ import { HOST_ATTENTION, REQUEST_HOST_ATTENTION } from "./generated/protocol.js";
4
4
  const NO_HOST_ATTENTION = { awaiting: false, kind: null, since: null };
5
5
  const KINDS = /* @__PURE__ */ new Set(["passkey", "consent", "picker", "confirmation"]);
6
6
  const parseHostAttention = (value) => {
@@ -1,5 +1,5 @@
1
1
  import "./chunk-VHAA22YE.js";
2
- import { getHostRuntime } from "./hostRuntime";
2
+ import { getHostRuntime } from "./hostRuntime.js";
3
3
  function transport() {
4
4
  try {
5
5
  const injected = module?.evaluation?.module?.bundler?.messageBus;
package/dist/index.cjs CHANGED
@@ -73,6 +73,8 @@ __reExport(index_exports, require("./runtime"), module.exports);
73
73
  __reExport(index_exports, require("./irMarkers"), module.exports);
74
74
  __reExport(index_exports, require("./ready"), module.exports);
75
75
  __reExport(index_exports, require("./loading"), module.exports);
76
+ __reExport(index_exports, require("./dialog"), module.exports);
77
+ __reExport(index_exports, require("./status"), module.exports);
76
78
  __reExport(index_exports, require("./protocolStream"), module.exports);
77
79
  __reExport(index_exports, require("./protocolDeadline"), module.exports);
78
80
  __reExport(index_exports, require("./sandboxTypes"), module.exports);
@@ -142,6 +144,8 @@ var import_ScrollRestoration = require("./components/ScrollRestoration");
142
144
  ...require("./irMarkers"),
143
145
  ...require("./ready"),
144
146
  ...require("./loading"),
147
+ ...require("./dialog"),
148
+ ...require("./status"),
145
149
  ...require("./protocolStream"),
146
150
  ...require("./protocolDeadline"),
147
151
  ...require("./sandboxTypes"),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './MDXProvider';\nexport * from './routing';\nexport * from './boot';\nexport * from './components/Include';\n// Only the component is public. `stripFrontmatter`/`appMountRelative` are module-level\n// exports so they can be unit-tested directly, NOT public API — the SDK's surface is\n// backwards-compatible forever, so an internal helper exported for a test's convenience is a\n// permanent commitment made for the wrong reason.\nexport { SafeInclude } from './components/SafeInclude';\nexport * from './sourceCache';\nexport * from './components/MDXComponents';\nexport * from './linkSpace';\nexport * from './bundle';\n// Deprecated `Corpus*` spellings of the above (R3-482); see `src/corpus.ts`.\nexport * from './corpus';\nexport * from './components/MountImage';\nexport * from './components/Routes';\nexport * from './hooks';\n// R3-276: the supported way for a viewer app to provide its own metadata store,\n// replacing a wholesale re-provision of `TinkerableContext` in app code.\nexport * from './metadataSource';\n// The deprecated injected-bundler adapters, re-exported so their deprecation notices\n// are visible in the published docs (R3-278; the window only narrows).\nexport { getInjectedMetadataEmitter, getInjectedMetadataSnapshot } from './injectedBundler';\nexport * from './auth';\nexport * from './theme';\nexport * from './editorContext';\nexport * from './editor';\nexport * from './formFactor';\nexport * from './chromeState';\nexport * from './workspace';\nexport * from './hostAttention';\nexport * from './region';\nexport * from './mounts';\nexport * from './analytics';\nexport * from './contribute';\nexport * from './catalog';\nexport * from './ipc';\nexport * from './dnd';\nexport * from './netFetch';\nexport * from './feed';\nexport * from './secrets';\nexport * from './recents'; // R3-485: the gated recent-projects read (page.home)\nexport * from './openRepository'; // R3-476: host-mediated open-in-a-new-tab (route:read)\nexport * from './openExternal'; // R3-619: host-brokered outward-link open (link:open)\nexport * from './llm';\nexport * from './diagnostics';\nexport * from './vcs';\nexport * from './onFsChange';\nexport * from './fs';\nexport * from './debug';\nexport * from './tasks';\nexport * from './launch';\nexport * from './runtime';\nexport * from './irMarkers';\nexport * from './ready';\nexport * from './loading';\nexport * from './protocolStream';\nexport * from './protocolDeadline';\nexport * from './sandboxTypes';\nexport * from './safeContent';\n// R3-489 (GROVE_AGENT_SPEC): the embedded-agent seam every app shares — the tool-use\n// loop ported from agent-demo (`runAgent` over the host chat slot), the MDX metadata\n// query tool, the headings index collector, the deixis context block, and the fence\n// for corpus-derived bytes entering a loop.\nexport * from './agentLoop';\nexport * from './agentSteering';\nexport * from './agentPause';\nexport * from './agentChatClient';\nexport * from './metadataQueryTool';\nexport * from './collectHeadings';\nexport * from './agentContext';\nexport * from './fence';\nexport * from './platformLink';\n// R3-627: the per-history-entry scratch, and the scroll restoration built on it —\n// Back lands where the reader left, for however many entries deep they go.\nexport * from './entryState';\nexport * from './useEntryState';\nexport * from './scrollRestore';\nexport { ScrollRestoration, type ScrollRestorationProps } from './components/ScrollRestoration';\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAc,0BAAd;AACA,0BAAc,sBADd;AAEA,0BAAc,mBAFd;AAGA,0BAAc,iCAHd;AAQA,yBAA4B;AAC5B,0BAAc,0BATd;AAUA,0BAAc,uCAVd;AAWA,0BAAc,wBAXd;AAYA,0BAAc,qBAZd;AAcA,0BAAc,qBAdd;AAeA,0BAAc,oCAfd;AAgBA,0BAAc,gCAhBd;AAiBA,0BAAc,oBAjBd;AAoBA,0BAAc,6BApBd;AAuBA,6BAAwE;AACxE,0BAAc,mBAxBd;AAyBA,0BAAc,oBAzBd;AA0BA,0BAAc,4BA1Bd;AA2BA,0BAAc,qBA3Bd;AA4BA,0BAAc,yBA5Bd;AA6BA,0BAAc,0BA7Bd;AA8BA,0BAAc,wBA9Bd;AA+BA,0BAAc,4BA/Bd;AAgCA,0BAAc,qBAhCd;AAiCA,0BAAc,qBAjCd;AAkCA,0BAAc,wBAlCd;AAmCA,0BAAc,yBAnCd;AAoCA,0BAAc,sBApCd;AAqCA,0BAAc,kBArCd;AAsCA,0BAAc,kBAtCd;AAuCA,0BAAc,uBAvCd;AAwCA,0BAAc,mBAxCd;AAyCA,0BAAc,sBAzCd;AA0CA,0BAAc,sBA1Cd;AA2CA,0BAAc,6BA3Cd;AA4CA,0BAAc,2BA5Cd;AA6CA,0BAAc,kBA7Cd;AA8CA,0BAAc,0BA9Cd;AA+CA,0BAAc,kBA/Cd;AAgDA,0BAAc,yBAhDd;AAiDA,0BAAc,iBAjDd;AAkDA,0BAAc,oBAlDd;AAmDA,0BAAc,oBAnDd;AAoDA,0BAAc,qBApDd;AAqDA,0BAAc,sBArDd;AAsDA,0BAAc,wBAtDd;AAuDA,0BAAc,oBAvDd;AAwDA,0BAAc,sBAxDd;AAyDA,0BAAc,6BAzDd;AA0DA,0BAAc,+BA1Dd;AA2DA,0BAAc,2BA3Dd;AA4DA,0BAAc,0BA5Dd;AAiEA,0BAAc,wBAjEd;AAkEA,0BAAc,4BAlEd;AAmEA,0BAAc,yBAnEd;AAoEA,0BAAc,8BApEd;AAqEA,0BAAc,gCArEd;AAsEA,0BAAc,8BAtEd;AAuEA,0BAAc,2BAvEd;AAwEA,0BAAc,oBAxEd;AAyEA,0BAAc,2BAzEd;AA4EA,0BAAc,yBA5Ed;AA6EA,0BAAc,4BA7Ed;AA8EA,0BAAc,4BA9Ed;AA+EA,+BAA+D;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './MDXProvider';\nexport * from './routing';\nexport * from './boot';\nexport * from './components/Include';\n// Only the component is public. `stripFrontmatter`/`appMountRelative` are module-level\n// exports so they can be unit-tested directly, NOT public API — the SDK's surface is\n// backwards-compatible forever, so an internal helper exported for a test's convenience is a\n// permanent commitment made for the wrong reason.\nexport { SafeInclude } from './components/SafeInclude';\nexport * from './sourceCache';\nexport * from './components/MDXComponents';\nexport * from './linkSpace';\nexport * from './bundle';\n// Deprecated `Corpus*` spellings of the above (R3-482); see `src/corpus.ts`.\nexport * from './corpus';\nexport * from './components/MountImage';\nexport * from './components/Routes';\nexport * from './hooks';\n// R3-276: the supported way for a viewer app to provide its own metadata store,\n// replacing a wholesale re-provision of `TinkerableContext` in app code.\nexport * from './metadataSource';\n// The deprecated injected-bundler adapters, re-exported so their deprecation notices\n// are visible in the published docs (R3-278; the window only narrows).\nexport { getInjectedMetadataEmitter, getInjectedMetadataSnapshot } from './injectedBundler';\nexport * from './auth';\nexport * from './theme';\nexport * from './editorContext';\nexport * from './editor';\nexport * from './formFactor';\nexport * from './chromeState';\nexport * from './workspace';\nexport * from './hostAttention';\nexport * from './region';\nexport * from './mounts';\nexport * from './analytics';\nexport * from './contribute';\nexport * from './catalog';\nexport * from './ipc';\nexport * from './dnd';\nexport * from './netFetch';\nexport * from './feed';\nexport * from './secrets';\nexport * from './recents'; // R3-485: the gated recent-projects read (page.home)\nexport * from './openRepository'; // R3-476: host-mediated open-in-a-new-tab (route:read)\nexport * from './openExternal'; // R3-619: host-brokered outward-link open (link:open)\nexport * from './llm';\nexport * from './diagnostics';\nexport * from './vcs';\nexport * from './onFsChange';\nexport * from './fs';\nexport * from './debug';\nexport * from './tasks';\nexport * from './launch';\nexport * from './runtime';\nexport * from './irMarkers';\nexport * from './ready';\nexport * from './loading';\nexport * from './dialog';\nexport * from './status';\nexport * from './protocolStream';\nexport * from './protocolDeadline';\nexport * from './sandboxTypes';\nexport * from './safeContent';\n// R3-489 (GROVE_AGENT_SPEC): the embedded-agent seam every app shares — the tool-use\n// loop ported from agent-demo (`runAgent` over the host chat slot), the MDX metadata\n// query tool, the headings index collector, the deixis context block, and the fence\n// for corpus-derived bytes entering a loop.\nexport * from './agentLoop';\nexport * from './agentSteering';\nexport * from './agentPause';\nexport * from './agentChatClient';\nexport * from './metadataQueryTool';\nexport * from './collectHeadings';\nexport * from './agentContext';\nexport * from './fence';\nexport * from './platformLink';\n// R3-627: the per-history-entry scratch, and the scroll restoration built on it —\n// Back lands where the reader left, for however many entries deep they go.\nexport * from './entryState';\nexport * from './useEntryState';\nexport * from './scrollRestore';\nexport { ScrollRestoration, type ScrollRestorationProps } from './components/ScrollRestoration';\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAc,0BAAd;AACA,0BAAc,sBADd;AAEA,0BAAc,mBAFd;AAGA,0BAAc,iCAHd;AAQA,yBAA4B;AAC5B,0BAAc,0BATd;AAUA,0BAAc,uCAVd;AAWA,0BAAc,wBAXd;AAYA,0BAAc,qBAZd;AAcA,0BAAc,qBAdd;AAeA,0BAAc,oCAfd;AAgBA,0BAAc,gCAhBd;AAiBA,0BAAc,oBAjBd;AAoBA,0BAAc,6BApBd;AAuBA,6BAAwE;AACxE,0BAAc,mBAxBd;AAyBA,0BAAc,oBAzBd;AA0BA,0BAAc,4BA1Bd;AA2BA,0BAAc,qBA3Bd;AA4BA,0BAAc,yBA5Bd;AA6BA,0BAAc,0BA7Bd;AA8BA,0BAAc,wBA9Bd;AA+BA,0BAAc,4BA/Bd;AAgCA,0BAAc,qBAhCd;AAiCA,0BAAc,qBAjCd;AAkCA,0BAAc,wBAlCd;AAmCA,0BAAc,yBAnCd;AAoCA,0BAAc,sBApCd;AAqCA,0BAAc,kBArCd;AAsCA,0BAAc,kBAtCd;AAuCA,0BAAc,uBAvCd;AAwCA,0BAAc,mBAxCd;AAyCA,0BAAc,sBAzCd;AA0CA,0BAAc,sBA1Cd;AA2CA,0BAAc,6BA3Cd;AA4CA,0BAAc,2BA5Cd;AA6CA,0BAAc,kBA7Cd;AA8CA,0BAAc,0BA9Cd;AA+CA,0BAAc,kBA/Cd;AAgDA,0BAAc,yBAhDd;AAiDA,0BAAc,iBAjDd;AAkDA,0BAAc,oBAlDd;AAmDA,0BAAc,oBAnDd;AAoDA,0BAAc,qBApDd;AAqDA,0BAAc,sBArDd;AAsDA,0BAAc,wBAtDd;AAuDA,0BAAc,oBAvDd;AAwDA,0BAAc,sBAxDd;AAyDA,0BAAc,qBAzDd;AA0DA,0BAAc,qBA1Dd;AA2DA,0BAAc,6BA3Dd;AA4DA,0BAAc,+BA5Dd;AA6DA,0BAAc,2BA7Dd;AA8DA,0BAAc,0BA9Dd;AAmEA,0BAAc,wBAnEd;AAoEA,0BAAc,4BApEd;AAqEA,0BAAc,yBArEd;AAsEA,0BAAc,8BAtEd;AAuEA,0BAAc,gCAvEd;AAwEA,0BAAc,8BAxEd;AAyEA,0BAAc,2BAzEd;AA0EA,0BAAc,oBA1Ed;AA2EA,0BAAc,2BA3Ed;AA8EA,0BAAc,yBA9Ed;AA+EA,0BAAc,4BA/Ed;AAgFA,0BAAc,4BAhFd;AAiFA,+BAA+D;","names":[]}
package/dist/index.d.cts CHANGED
@@ -21,7 +21,7 @@ export { ChromeState, getChromeState, onChromeStateChange, useChromeState } from
21
21
  export { Workspace, getWorkspace, onWorkspaceChange, useWorkspace } from './workspace.cjs';
22
22
  export { HostAttention, HostAttentionKind, NO_HOST_ATTENTION, getHostAttention, onHostAttentionChange, useHostAttention } from './hostAttention.cjs';
23
23
  export { getRegion, isRegionHidden, onRegionVisibilityChange, useRegion, useRegionHidden } from './region.cjs';
24
- export { Invite, MountQuery, MountRemoveReason, MountRule, RemovedMount, SandboxMount, SandboxMountBundle, SessionMount, SpaceError, acceptInvite, awaitMatchingMount, createSpace, declineInvite, findMount, getAppMountPath, getInvites, getMounts, getSessionMounts, importSettingsFromParent, listMyInvites, listPendingInvites, listSettingsApps, makeContentRef, mount, mountSpace, onInvitesChange, onMountsChange, onSessionMountsChange, openLocalStore, openSettings, openSettingsOf, requestMount, requestSpace, resolveContentRef, resolveContentRefs, revokeInvite, unmountSpace, useInvites, useMounts, useSessionMounts, waitForMount } from './mounts.cjs';
24
+ export { MountQuery, MountRemoveReason, MountRule, RemovedMount, SandboxMount, SandboxMountBundle, SessionMount, SpaceError, awaitMatchingMount, createSpace, findMount, getAppMountPath, getInvites, getMounts, getSessionMounts, importSettingsFromParent, listSettingsApps, makeContentRef, mount, mountSpace, onInvitesChange, onMountsChange, onSessionMountsChange, openLocalStore, openSettings, openSettingsOf, requestMount, requestSpace, resolveContentRef, resolveContentRefs, unmountSpace, useInvites, useMounts, useSessionMounts, waitForMount } from './mounts.cjs';
25
25
  export { AnalyticsAck, AnalyticsPropValue, emitAnalyticsEvent, recordRoute, track, trackRoute } from './analytics.cjs';
26
26
  export { ContributeMode, ContributeOptions, ContributionEvent, ContributionResult, contribute } from './contribute.cjs';
27
27
  export { ApiMethod, getCatalog, invoke, invokeStream, onCatalogChange, useCatalog } from './catalog.cjs';
@@ -45,6 +45,8 @@ export { SDK_PROTOCOL_VERSION, SdkHandshake, announceHandshake, sdkHandshake } f
45
45
  export { ForwardedMarker, IR_MARKERS, IrMarkerName, isAllowedMarkerName, isIrMarkerName, resolveInteractive, validateMarker } from './irMarkers.cjs';
46
46
  export { ReadyState, __resetReady, __setReadyDeps, getReadyState, onReady, reportReady } from './ready.cjs';
47
47
  export { LOADING_TIMINGS, LoadingRegion, Skeleton, SkeletonArchetype, SkeletonRow, Spinner } from './loading.cjs';
48
+ export { Dialog, DialogProps, useDialogDismiss, useDialogFocus } from './dialog.cjs';
49
+ export { Busy, BusyProps, Status, StatusProps } from './status.cjs';
48
50
  export { StreamError, StreamFrame, StreamTransport, consumeStream, protocolStream } from './protocolStream.cjs';
49
51
  export { ATTENDED_FIRST_FRAME_MS, ATTENDED_TIMEOUT_MS, Attendance, BoundedCallOptions, CallBounds, DeadlineBound, NETWORK_TIMEOUT_MS, PENDING_NOTICE_MS, PendingAttention, PendingState, ProtocolCancelledError, ProtocolTimeoutError, STREAM_IDLE_TIMEOUT_MS, SuspendableDeadline, UNATTENDED_TIMEOUT_MS, attendanceOf, attendanceReason, boundsFor, createSuspendableDeadline, firstFrameBoundsFor, firstFrameTimeoutFor, timeoutFor } from './protocolDeadline.cjs';
50
52
  export { EvaluationContext, FileQueryResult, FilesMetadata, Metadata, MetadataQueryEntry, MetadataQueryFunction, MetadataQueryRecord, MetadataQueryResult, ModuleExports } from './sandboxTypes.cjs';
@@ -64,7 +66,7 @@ export { RESTORE_DEADLINE_MS, RESTORE_EPSILON_PX, RestoreAction, RestoreSample,
64
66
  export { ScrollRestoration, ScrollRestorationProps } from './components/ScrollRestoration.cjs';
65
67
  export { Admonition, AdmonitionType } from './components/Admonition.cjs';
66
68
  export { BundleLayout, FS_PREFIX, LinkSpace, ResolvedLinkTarget, normalizeAbsolute, resolveLinkTarget } from '@immediately-run/mdx-plugins';
67
- export { GrantRecord, Member, ResolvedUser, Role, SpaceInfo, getSpaceMembers, inviteToSpace, listAllSpaces, listGrants, listSpaces, lookupUser, revokeGrant, setSpaceRole, unshareSpace } from './generated/spaces.cjs';
69
+ export { GrantRecord, Invite, Member, ResolvedUser, Role, SpaceInfo, acceptInvite, declineInvite, getSpaceMembers, inviteToSpace, listAllSpaces, listGrants, listMyInvites, listPendingInvites, listSpaces, lookupUser, revokeGrant, revokeInvite, setSpaceRole, unshareSpace } from './generated/spaces.cjs';
68
70
  export { HeadingAnchor } from './components/HeadingAnchor.cjs';
69
71
  export { ImmediatelyRunGlobal, getHostRuntime } from './hostRuntime.cjs';
70
72
  export { IncludeMode, IncludeModeContext, RenderExportedComponentContext, RenderFileContextType } from './components/includeContexts.cjs';
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@ export { ChromeState, getChromeState, onChromeStateChange, useChromeState } from
21
21
  export { Workspace, getWorkspace, onWorkspaceChange, useWorkspace } from './workspace.js';
22
22
  export { HostAttention, HostAttentionKind, NO_HOST_ATTENTION, getHostAttention, onHostAttentionChange, useHostAttention } from './hostAttention.js';
23
23
  export { getRegion, isRegionHidden, onRegionVisibilityChange, useRegion, useRegionHidden } from './region.js';
24
- export { Invite, MountQuery, MountRemoveReason, MountRule, RemovedMount, SandboxMount, SandboxMountBundle, SessionMount, SpaceError, acceptInvite, awaitMatchingMount, createSpace, declineInvite, findMount, getAppMountPath, getInvites, getMounts, getSessionMounts, importSettingsFromParent, listMyInvites, listPendingInvites, listSettingsApps, makeContentRef, mount, mountSpace, onInvitesChange, onMountsChange, onSessionMountsChange, openLocalStore, openSettings, openSettingsOf, requestMount, requestSpace, resolveContentRef, resolveContentRefs, revokeInvite, unmountSpace, useInvites, useMounts, useSessionMounts, waitForMount } from './mounts.js';
24
+ export { MountQuery, MountRemoveReason, MountRule, RemovedMount, SandboxMount, SandboxMountBundle, SessionMount, SpaceError, awaitMatchingMount, createSpace, findMount, getAppMountPath, getInvites, getMounts, getSessionMounts, importSettingsFromParent, listSettingsApps, makeContentRef, mount, mountSpace, onInvitesChange, onMountsChange, onSessionMountsChange, openLocalStore, openSettings, openSettingsOf, requestMount, requestSpace, resolveContentRef, resolveContentRefs, unmountSpace, useInvites, useMounts, useSessionMounts, waitForMount } from './mounts.js';
25
25
  export { AnalyticsAck, AnalyticsPropValue, emitAnalyticsEvent, recordRoute, track, trackRoute } from './analytics.js';
26
26
  export { ContributeMode, ContributeOptions, ContributionEvent, ContributionResult, contribute } from './contribute.js';
27
27
  export { ApiMethod, getCatalog, invoke, invokeStream, onCatalogChange, useCatalog } from './catalog.js';
@@ -45,6 +45,8 @@ export { SDK_PROTOCOL_VERSION, SdkHandshake, announceHandshake, sdkHandshake } f
45
45
  export { ForwardedMarker, IR_MARKERS, IrMarkerName, isAllowedMarkerName, isIrMarkerName, resolveInteractive, validateMarker } from './irMarkers.js';
46
46
  export { ReadyState, __resetReady, __setReadyDeps, getReadyState, onReady, reportReady } from './ready.js';
47
47
  export { LOADING_TIMINGS, LoadingRegion, Skeleton, SkeletonArchetype, SkeletonRow, Spinner } from './loading.js';
48
+ export { Dialog, DialogProps, useDialogDismiss, useDialogFocus } from './dialog.js';
49
+ export { Busy, BusyProps, Status, StatusProps } from './status.js';
48
50
  export { StreamError, StreamFrame, StreamTransport, consumeStream, protocolStream } from './protocolStream.js';
49
51
  export { ATTENDED_FIRST_FRAME_MS, ATTENDED_TIMEOUT_MS, Attendance, BoundedCallOptions, CallBounds, DeadlineBound, NETWORK_TIMEOUT_MS, PENDING_NOTICE_MS, PendingAttention, PendingState, ProtocolCancelledError, ProtocolTimeoutError, STREAM_IDLE_TIMEOUT_MS, SuspendableDeadline, UNATTENDED_TIMEOUT_MS, attendanceOf, attendanceReason, boundsFor, createSuspendableDeadline, firstFrameBoundsFor, firstFrameTimeoutFor, timeoutFor } from './protocolDeadline.js';
50
52
  export { EvaluationContext, FileQueryResult, FilesMetadata, Metadata, MetadataQueryEntry, MetadataQueryFunction, MetadataQueryRecord, MetadataQueryResult, ModuleExports } from './sandboxTypes.js';
@@ -64,7 +66,7 @@ export { RESTORE_DEADLINE_MS, RESTORE_EPSILON_PX, RestoreAction, RestoreSample,
64
66
  export { ScrollRestoration, ScrollRestorationProps } from './components/ScrollRestoration.js';
65
67
  export { Admonition, AdmonitionType } from './components/Admonition.js';
66
68
  export { BundleLayout, FS_PREFIX, LinkSpace, ResolvedLinkTarget, normalizeAbsolute, resolveLinkTarget } from '@immediately-run/mdx-plugins';
67
- export { GrantRecord, Member, ResolvedUser, Role, SpaceInfo, getSpaceMembers, inviteToSpace, listAllSpaces, listGrants, listSpaces, lookupUser, revokeGrant, setSpaceRole, unshareSpace } from './generated/spaces.js';
69
+ export { GrantRecord, Invite, Member, ResolvedUser, Role, SpaceInfo, acceptInvite, declineInvite, getSpaceMembers, inviteToSpace, listAllSpaces, listGrants, listMyInvites, listPendingInvites, listSpaces, lookupUser, revokeGrant, revokeInvite, setSpaceRole, unshareSpace } from './generated/spaces.js';
68
70
  export { HeadingAnchor } from './components/HeadingAnchor.js';
69
71
  export { ImmediatelyRunGlobal, getHostRuntime } from './hostRuntime.js';
70
72
  export { IncludeMode, IncludeModeContext, RenderExportedComponentContext, RenderFileContextType } from './components/includeContexts.js';