@astrale-domains/shell 0.1.6 → 0.1.8

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 (309) hide show
  1. package/README.md +73 -173
  2. package/dist/domain.d.ts +499 -31
  3. package/dist/domain.js +99 -78
  4. package/dist/functions/application/index.js +2 -1
  5. package/dist/functions/application/legacy/index.js +1 -0
  6. package/dist/functions/application/legacy/list-entrypoints.js +8 -0
  7. package/dist/functions/authority/capabilities.js +1 -0
  8. package/dist/functions/authority/composition.js +47 -0
  9. package/dist/functions/authority/index.js +2 -0
  10. package/dist/functions/authority/roles.js +113 -0
  11. package/dist/functions/directory/disconnect-directory.js +35 -0
  12. package/dist/functions/directory/index.js +1 -0
  13. package/dist/functions/group/assign-member.js +7 -0
  14. package/dist/functions/group/change-group-membership.js +101 -20
  15. package/dist/functions/group/create-group.js +23 -0
  16. package/dist/functions/group/delete-group.js +33 -0
  17. package/dist/functions/group/deprovision-group.js +27 -0
  18. package/dist/functions/group/group-errors.js +43 -0
  19. package/dist/functions/group/group-membership-errors.js +3 -1
  20. package/dist/functions/group/group.js +51 -0
  21. package/dist/functions/group/index.js +8 -2
  22. package/dist/functions/group/legacy/index.js +1 -0
  23. package/dist/functions/group/legacy/membership.js +64 -0
  24. package/dist/functions/group/membership-laws.js +37 -0
  25. package/dist/functions/group/provision-group.js +33 -0
  26. package/dist/functions/group/unassign-member.js +7 -0
  27. package/dist/functions/group/update-group.js +55 -0
  28. package/dist/functions/invitation/index.js +2 -0
  29. package/dist/functions/invitation/invitation-errors.js +13 -0
  30. package/dist/functions/invitation/invitation-methods.js +41 -0
  31. package/dist/functions/invitation/send-invitation.js +131 -0
  32. package/dist/functions/user/account.js +35 -0
  33. package/dist/functions/user/create-user.js +45 -0
  34. package/dist/functions/user/deactivate-user.js +19 -0
  35. package/dist/functions/user/delete-user.js +34 -0
  36. package/dist/functions/user/deprovision-user.js +21 -0
  37. package/dist/functions/user/index.js +15 -1
  38. package/dist/functions/user/invite-errors.js +18 -0
  39. package/dist/functions/user/invite-user.js +42 -34
  40. package/dist/functions/user/legacy/claimed-account.js +11 -0
  41. package/dist/functions/user/legacy/index.js +4 -0
  42. package/dist/functions/user/legacy/invite.js +20 -0
  43. package/dist/functions/user/legacy/migrate-accounts.js +98 -0
  44. package/dist/functions/user/legacy/record-profile.js +19 -0
  45. package/dist/functions/user/protect-administrators.js +16 -0
  46. package/dist/functions/user/provision-user.js +70 -0
  47. package/dist/functions/user/reactivate-user.js +19 -0
  48. package/dist/functions/user/read-account.js +12 -0
  49. package/dist/functions/user/request-invitation.js +17 -0
  50. package/dist/functions/user/update-profile.js +22 -0
  51. package/dist/functions/user/update-user.js +68 -0
  52. package/dist/functions/user/user-errors.js +69 -0
  53. package/dist/functions/user/write-account.js +57 -0
  54. package/dist/functions/view-access/index.js +2 -1
  55. package/dist/functions/view-access/{assign-views.js → legacy/assign-views.js} +11 -7
  56. package/dist/functions/view-access/legacy/index.js +1 -0
  57. package/dist/functions/view-access/{view-access-errors.js → legacy/view-access-errors.js} +5 -1
  58. package/dist/index.d.ts +1 -1
  59. package/dist/index.js +3 -1
  60. package/dist/integrations/user-invitation/invite-user-request.d.ts +6 -0
  61. package/dist/legacy/index.js +1 -0
  62. package/dist/legacy/release.js +33 -0
  63. package/dist/mutations/composition/grant-role.js +13 -0
  64. package/dist/mutations/composition/index.js +1 -0
  65. package/dist/mutations/group/index.js +1 -1
  66. package/dist/mutations/group/legacy/index.js +1 -0
  67. package/dist/mutations/group/legacy/membership-class.js +7 -0
  68. package/dist/mutations/group/set-group-membership.js +60 -19
  69. package/dist/mutations/identity/create-profile.js +37 -0
  70. package/dist/mutations/identity/delete-identity.js +28 -0
  71. package/dist/mutations/identity/index.js +4 -0
  72. package/dist/mutations/identity/write-account.js +109 -0
  73. package/dist/mutations/identity/write-group.js +72 -0
  74. package/dist/mutations/invitation/index.js +1 -0
  75. package/dist/mutations/invitation/write-invitation.js +79 -0
  76. package/dist/mutations/user/legacy/index.js +1 -0
  77. package/dist/mutations/user/{record-user-profile.js → legacy/record-user-profile.js} +5 -2
  78. package/dist/providers/admin-enrollment/create-admin-enrollment-provider.js +6 -3
  79. package/dist/providers/admin-enrollment/legacy/index.js +1 -0
  80. package/dist/providers/admin-enrollment/legacy/send-without-profile.js +16 -0
  81. package/dist/queries/application/legacy/index.js +1 -0
  82. package/dist/queries/application/legacy/read-installed-entrypoints.js +47 -0
  83. package/dist/queries/composition/index.js +2 -0
  84. package/dist/queries/composition/read-extensions.js +34 -0
  85. package/dist/queries/composition/read-role-nodes.js +76 -0
  86. package/dist/queries/group/index.js +2 -1
  87. package/dist/queries/group/legacy/index.js +3 -0
  88. package/dist/queries/group/legacy/read-core-groups.js +46 -0
  89. package/dist/queries/group/legacy/read-member-of-group.js +24 -0
  90. package/dist/queries/group/legacy/read-members-of-group.js +27 -0
  91. package/dist/queries/group/read-group-members.js +73 -0
  92. package/dist/queries/group/read-group-membership-endpoints.js +11 -0
  93. package/dist/queries/group/read-group-membership.js +6 -21
  94. package/dist/queries/identity/index.js +1 -0
  95. package/dist/queries/identity/read-identities.js +29 -0
  96. package/dist/queries/invitation/index.js +1 -0
  97. package/dist/queries/invitation/read-invitation.js +50 -0
  98. package/dist/queries/profile/index.js +1 -0
  99. package/dist/queries/profile/read-profile.js +15 -0
  100. package/dist/queries/role/index.js +1 -0
  101. package/dist/queries/role/read-role-node.js +21 -0
  102. package/dist/queries/user/legacy/index.js +1 -0
  103. package/dist/queries/user/legacy/read-user-profile.js +27 -0
  104. package/dist/runtime.d.ts +20147 -466
  105. package/dist/runtime.js +34 -7
  106. package/dist/schema/index.d.ts +7 -4
  107. package/dist/schema/index.js +8 -4
  108. package/dist/schema/legacy/index.js +1 -0
  109. package/dist/schema/legacy/schema.js +32 -0
  110. package/dist/schema/modules/application/legacy/entrypoint-entry.js +11 -0
  111. package/dist/schema/modules/application/legacy/functions/index.js +1 -0
  112. package/dist/schema/modules/application/legacy/functions/list-entrypoints.js +22 -0
  113. package/dist/schema/modules/application/legacy/index.js +2 -0
  114. package/dist/schema/modules/directory/functions/disconnect-directory.d.ts +13 -0
  115. package/dist/schema/modules/directory/functions/disconnect-directory.js +15 -0
  116. package/dist/schema/modules/directory/functions/index.d.ts +1 -0
  117. package/dist/schema/modules/directory/functions/index.js +1 -0
  118. package/dist/schema/modules/directory/index.d.ts +1 -0
  119. package/dist/schema/modules/directory/index.js +1 -0
  120. package/dist/schema/modules/group/classes/group-profile-link.d.ts +34 -0
  121. package/dist/schema/modules/group/classes/group-profile-link.js +21 -0
  122. package/dist/schema/modules/group/classes/group-profile.d.ts +15 -0
  123. package/dist/schema/modules/group/classes/group-profile.js +20 -0
  124. package/dist/schema/modules/group/classes/group.d.ts +87 -1
  125. package/dist/schema/modules/group/classes/group.js +38 -7
  126. package/dist/schema/modules/group/classes/index.d.ts +2 -1
  127. package/dist/schema/modules/group/classes/index.js +3 -1
  128. package/dist/schema/modules/group/functions/assign-member.js +17 -0
  129. package/dist/schema/modules/group/functions/assign-members.js +17 -0
  130. package/dist/schema/modules/group/functions/create-group.js +20 -0
  131. package/dist/schema/modules/group/functions/delete-group.js +12 -0
  132. package/dist/schema/modules/group/functions/deprovision-group.js +14 -0
  133. package/dist/schema/modules/group/functions/index.js +9 -2
  134. package/dist/schema/modules/group/functions/provision-group.js +14 -0
  135. package/dist/schema/modules/group/functions/unassign-member.js +17 -0
  136. package/dist/schema/modules/group/functions/unassign-members.js +17 -0
  137. package/dist/schema/modules/group/functions/update-group.js +20 -0
  138. package/dist/schema/modules/group/index.d.ts +3 -3
  139. package/dist/schema/modules/group/index.js +4 -3
  140. package/dist/schema/modules/group/legacy/admission.d.ts +9 -0
  141. package/dist/schema/modules/group/legacy/admission.js +9 -0
  142. package/dist/schema/modules/group/legacy/classes/index.d.ts +1 -0
  143. package/dist/schema/modules/group/legacy/classes/index.js +1 -0
  144. package/dist/schema/modules/group/{classes → legacy/classes}/member-of-group.d.ts +10 -1
  145. package/dist/schema/modules/group/legacy/classes/member-of-group.js +32 -0
  146. package/dist/schema/modules/group/legacy/core-groups.d.ts +22 -0
  147. package/dist/schema/modules/group/legacy/core-groups.js +28 -0
  148. package/dist/schema/modules/group/legacy/index.d.ts +5 -0
  149. package/dist/schema/modules/group/legacy/index.js +6 -0
  150. package/dist/schema/modules/group/legacy/policies/belongs-to-group.d.ts +5 -0
  151. package/dist/schema/modules/group/legacy/policies/belongs-to-group.js +9 -0
  152. package/dist/schema/modules/group/legacy/policies/index.d.ts +2 -0
  153. package/dist/schema/modules/group/legacy/policies/index.js +2 -0
  154. package/dist/schema/modules/group/legacy/policies/owns-membership-group.d.ts +6 -0
  155. package/dist/schema/modules/group/legacy/policies/owns-membership-group.js +12 -0
  156. package/dist/schema/modules/group/legacy/relaxations.d.ts +21 -0
  157. package/dist/schema/modules/group/legacy/relaxations.js +27 -0
  158. package/dist/schema/modules/group/policies/describes-group-of-subject.d.ts +2 -0
  159. package/dist/schema/modules/group/policies/describes-group-of-subject.js +7 -0
  160. package/dist/schema/modules/group/policies/index.d.ts +2 -1
  161. package/dist/schema/modules/group/policies/index.js +2 -1
  162. package/dist/schema/modules/group/policies/is-group-profile-source.d.ts +2 -0
  163. package/dist/schema/modules/group/policies/is-group-profile-source.js +6 -0
  164. package/dist/schema/modules/group/types/group-membership-input.js +8 -0
  165. package/dist/schema/modules/group/types/group.js +10 -0
  166. package/dist/schema/modules/group/types/index.js +2 -1
  167. package/dist/schema/modules/invitation/classes/index.js +2 -0
  168. package/dist/schema/modules/invitation/classes/invitation-user.js +17 -0
  169. package/dist/schema/modules/invitation/classes/invitation.js +32 -0
  170. package/dist/schema/modules/invitation/functions/accept.js +16 -0
  171. package/dist/schema/modules/invitation/functions/cancel.js +12 -0
  172. package/dist/schema/modules/invitation/functions/index.js +4 -0
  173. package/dist/schema/modules/invitation/functions/resend.js +12 -0
  174. package/dist/schema/modules/invitation/functions/send.js +20 -0
  175. package/dist/schema/modules/invitation/index.js +2 -0
  176. package/dist/schema/modules/invitation/types/index.js +1 -0
  177. package/dist/schema/modules/invitation/types/invitation-status.js +5 -0
  178. package/dist/schema/modules/namespace/classes/alias.d.ts +2 -1
  179. package/dist/schema/modules/namespace/classes/alias.js +11 -2
  180. package/dist/schema/modules/namespace/functions/link.js +3 -2
  181. package/dist/schema/modules/namespace/functions/rename.js +3 -2
  182. package/dist/schema/modules/namespace/functions/unlink.js +3 -2
  183. package/dist/schema/modules/role/classes/index.d.ts +1 -0
  184. package/dist/schema/modules/role/classes/index.js +1 -0
  185. package/dist/schema/modules/role/classes/role.d.ts +16 -0
  186. package/dist/schema/modules/role/classes/role.js +19 -0
  187. package/dist/schema/modules/role/core/index.d.ts +1 -0
  188. package/dist/schema/modules/role/core/index.js +1 -0
  189. package/dist/schema/modules/role/core/roles.d.ts +39 -0
  190. package/dist/schema/modules/role/core/roles.js +31 -0
  191. package/dist/schema/modules/role/index.d.ts +2 -0
  192. package/dist/schema/modules/role/index.js +2 -0
  193. package/dist/schema/modules/user/classes/index.d.ts +2 -0
  194. package/dist/schema/modules/user/classes/index.js +3 -0
  195. package/dist/schema/modules/user/classes/user-profile-link.d.ts +35 -0
  196. package/dist/schema/modules/user/classes/user-profile-link.js +22 -0
  197. package/dist/schema/modules/user/classes/user-profile.d.ts +41 -0
  198. package/dist/schema/modules/user/classes/user-profile.js +30 -0
  199. package/dist/schema/modules/user/classes/user.d.ts +133 -8
  200. package/dist/schema/modules/user/classes/user.js +46 -15
  201. package/dist/schema/modules/user/functions/create-user.js +21 -0
  202. package/dist/schema/modules/user/functions/deactivate-user.js +12 -0
  203. package/dist/schema/modules/user/functions/delete-user.js +12 -0
  204. package/dist/schema/modules/user/functions/deprovision-user.js +14 -0
  205. package/dist/schema/modules/user/functions/index.js +8 -1
  206. package/dist/schema/modules/user/functions/invite-user.js +23 -4
  207. package/dist/schema/modules/user/functions/provision-user.js +25 -0
  208. package/dist/schema/modules/user/functions/reactivate-user.js +12 -0
  209. package/dist/schema/modules/user/functions/update-profile.js +16 -0
  210. package/dist/schema/modules/user/functions/update-user.js +22 -0
  211. package/dist/schema/modules/user/index.d.ts +2 -1
  212. package/dist/schema/modules/user/index.js +2 -1
  213. package/dist/schema/modules/user/legacy/account-properties.js +24 -0
  214. package/dist/schema/modules/user/legacy/functions/index.js +2 -0
  215. package/dist/schema/modules/user/legacy/functions/migrate-accounts.js +23 -0
  216. package/dist/schema/modules/user/legacy/functions/record-profile.js +18 -0
  217. package/dist/schema/modules/user/legacy/index.js +5 -0
  218. package/dist/schema/modules/user/legacy/invite.js +15 -0
  219. package/dist/schema/modules/user/legacy/relaxations.js +37 -0
  220. package/dist/schema/modules/user/policies/describes-subject.d.ts +2 -0
  221. package/dist/schema/modules/user/policies/describes-subject.js +7 -0
  222. package/dist/schema/modules/user/policies/index.d.ts +2 -0
  223. package/dist/schema/modules/user/policies/index.js +2 -0
  224. package/dist/schema/modules/user/policies/is-profile-source.d.ts +2 -0
  225. package/dist/schema/modules/user/policies/is-profile-source.js +6 -0
  226. package/dist/schema/modules/user/types/account.d.ts +12 -0
  227. package/dist/schema/modules/user/types/account.js +12 -0
  228. package/dist/schema/modules/user/types/index.d.ts +1 -1
  229. package/dist/schema/modules/user/types/index.js +1 -1
  230. package/dist/schema/modules/view-access/classes/view-access.d.ts +7 -11
  231. package/dist/schema/modules/view-access/classes/view-access.js +17 -12
  232. package/dist/schema/modules/view-access/index.d.ts +1 -2
  233. package/dist/schema/modules/view-access/index.js +1 -2
  234. package/dist/schema/modules/view-access/legacy/functions/assign-views.js +22 -0
  235. package/dist/schema/modules/view-access/legacy/functions/index.js +1 -0
  236. package/dist/schema/modules/view-access/legacy/index.js +2 -0
  237. package/dist/schema/modules/view-access/legacy/view-assignment.js +24 -0
  238. package/dist/schema/modules/view-access/policies/holds-view-access.d.ts +2 -0
  239. package/dist/schema/modules/view-access/policies/holds-view-access.js +5 -0
  240. package/dist/schema/modules/view-access/policies/index.d.ts +1 -0
  241. package/dist/schema/modules/view-access/policies/index.js +1 -0
  242. package/dist/schema/policies/has-role.d.ts +6 -0
  243. package/dist/schema/policies/has-role.js +9 -0
  244. package/dist/schema/policies/index.d.ts +1 -0
  245. package/dist/schema/policies/index.js +1 -4
  246. package/dist/schema/policies/legacy/administers-shell-class.js +21 -0
  247. package/dist/schema/policies/legacy/index.js +4 -0
  248. package/dist/schema/policies/legacy/is-self.js +9 -0
  249. package/dist/schema/policies/legacy/owns-class.js +12 -0
  250. package/dist/schema/policies/legacy/uses-function.js +9 -0
  251. package/dist/schema/schema.d.ts +1937 -119
  252. package/dist/schema/schema.js +35 -15
  253. package/dist/schema/types/attributes.js +15 -0
  254. package/dist/schema/types/index.js +1 -0
  255. package/dist/utils/attributes/attributes.js +12 -0
  256. package/dist/utils/attributes/index.js +1 -0
  257. package/dist/utils/index.js +3 -0
  258. package/dist/utils/same-json/index.js +1 -0
  259. package/dist/utils/same-json/same-json.js +9 -0
  260. package/package.json +3 -3
  261. package/dist/functions/application/list-entrypoints.js +0 -6
  262. package/dist/functions/group/assign-member-to-group.js +0 -4
  263. package/dist/functions/group/unassign-member-from-group.js +0 -4
  264. package/dist/functions/user/record-profile.js +0 -18
  265. package/dist/mutations/user/index.js +0 -1
  266. package/dist/queries/application/index.js +0 -1
  267. package/dist/queries/application/read-installed-entrypoints.js +0 -28
  268. package/dist/queries/user/index.js +0 -1
  269. package/dist/queries/user/read-user-profile.js +0 -9
  270. package/dist/schema/modules/application/functions/index.d.ts +0 -1
  271. package/dist/schema/modules/application/functions/index.js +0 -1
  272. package/dist/schema/modules/application/functions/list-entrypoints.d.ts +0 -15
  273. package/dist/schema/modules/application/functions/list-entrypoints.js +0 -16
  274. package/dist/schema/modules/application/index.d.ts +0 -2
  275. package/dist/schema/modules/application/index.js +0 -2
  276. package/dist/schema/modules/application/types/entrypoint-entry.d.ts +0 -8
  277. package/dist/schema/modules/application/types/entrypoint-entry.js +0 -7
  278. package/dist/schema/modules/application/types/index.d.ts +0 -1
  279. package/dist/schema/modules/application/types/index.js +0 -1
  280. package/dist/schema/modules/group/classes/member-of-group.js +0 -12
  281. package/dist/schema/modules/group/core/administrators-group.d.ts +0 -1
  282. package/dist/schema/modules/group/core/administrators-group.js +0 -6
  283. package/dist/schema/modules/group/core/applications-group.d.ts +0 -1
  284. package/dist/schema/modules/group/core/applications-group.js +0 -6
  285. package/dist/schema/modules/group/core/index.d.ts +0 -3
  286. package/dist/schema/modules/group/core/index.js +0 -3
  287. package/dist/schema/modules/group/core/members-group.d.ts +0 -1
  288. package/dist/schema/modules/group/core/members-group.js +0 -6
  289. package/dist/schema/modules/group/functions/assign-member-to-group.js +0 -11
  290. package/dist/schema/modules/group/functions/unassign-member-from-group.js +0 -11
  291. package/dist/schema/modules/group/policies/belongs-to-group.d.ts +0 -1
  292. package/dist/schema/modules/group/policies/belongs-to-group.js +0 -5
  293. package/dist/schema/modules/user/functions/record-profile.js +0 -14
  294. package/dist/schema/modules/user/types/user-profile.d.ts +0 -7
  295. package/dist/schema/modules/user/types/user-profile.js +0 -7
  296. package/dist/schema/modules/view-access/core/index.d.ts +0 -1
  297. package/dist/schema/modules/view-access/core/index.js +0 -1
  298. package/dist/schema/modules/view-access/core/view-only-group.d.ts +0 -5
  299. package/dist/schema/modules/view-access/core/view-only-group.js +0 -10
  300. package/dist/schema/modules/view-access/functions/assign-views.d.ts +0 -16
  301. package/dist/schema/modules/view-access/functions/assign-views.js +0 -17
  302. package/dist/schema/modules/view-access/functions/index.d.ts +0 -1
  303. package/dist/schema/modules/view-access/functions/index.js +0 -1
  304. package/dist/schema/modules/view-access/types/index.js +0 -1
  305. package/dist/schema/modules/view-access/types/view-assignment.js +0 -16
  306. package/dist/schema/policies/administers-shell-class.js +0 -11
  307. package/dist/schema/policies/is-self.js +0 -5
  308. package/dist/schema/policies/owns-class.js +0 -7
  309. package/dist/schema/policies/uses-function.js +0 -5
package/dist/domain.d.ts CHANGED
@@ -5,22 +5,120 @@ declare const frontend: import("@astrale-os/sdk/view").Frontend<import("@astrale
5
5
  readonly name: 'Shell';
6
6
  readonly entrypoint: 'application';
7
7
  readonly classes: {
8
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
9
+ readonly depth: 0;
10
+ readonly abstract: false;
11
+ readonly extends: readonly [];
12
+ readonly properties: never;
13
+ readonly source: {
14
+ readonly as: "member";
15
+ readonly accepts: readonly (() => {
16
+ readonly kind: 'node';
17
+ readonly abstract: never;
18
+ readonly depth: never;
19
+ readonly properties: never;
20
+ readonly methods: never;
21
+ })[];
22
+ readonly outgoing: "0..*";
23
+ };
24
+ readonly target: {
25
+ readonly as: "group";
26
+ readonly accepts: readonly (() => {
27
+ readonly kind: 'node';
28
+ readonly abstract: never;
29
+ readonly depth: never;
30
+ readonly properties: never;
31
+ readonly methods: never;
32
+ })[];
33
+ readonly incoming: "0..*";
34
+ };
35
+ readonly constraints: Record<never, never>;
36
+ readonly effectiveProperties: never;
37
+ }>;
8
38
  readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
9
39
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
10
40
  readonly inheritance: "open";
11
- readonly policies: {
12
- readonly read: true;
13
- };
14
- readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
41
+ readonly abstract: false;
42
+ readonly description: "The account of one person in the workspace.";
43
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Iconable">];
15
44
  readonly properties: {
16
45
  readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
17
46
  readonly claimedEmail: import("zod").ZodOptional<import("zod").ZodString>;
18
47
  readonly claimedName: import("zod").ZodOptional<import("zod").ZodString>;
48
+ readonly suspended: import("zod").ZodOptional<import("zod").ZodBoolean>;
49
+ readonly directoryActive: import("zod").ZodOptional<import("zod").ZodBoolean>;
50
+ readonly name: import("@astrale-os/sdk/schema").AuthoredProperty<{
51
+ readonly type: "string";
52
+ readonly minLength: 1;
53
+ readonly maxLength: 100;
54
+ }, {
55
+ readonly required: false;
56
+ }>;
57
+ readonly email: import("@astrale-os/sdk/schema").AuthoredProperty<{
58
+ readonly type: "string";
59
+ readonly minLength: 3;
60
+ readonly maxLength: 320;
61
+ }, {
62
+ readonly required: false;
63
+ }>;
64
+ readonly givenName: import("@astrale-os/sdk/schema").AuthoredProperty<{
65
+ readonly type: 'string';
66
+ readonly minLength: 1;
67
+ readonly maxLength: number;
68
+ }, {
69
+ readonly required: false;
70
+ }>;
71
+ readonly familyName: import("@astrale-os/sdk/schema").AuthoredProperty<{
72
+ readonly type: 'string';
73
+ readonly minLength: 1;
74
+ readonly maxLength: number;
75
+ }, {
76
+ readonly required: false;
77
+ }>;
78
+ readonly directory: import("@astrale-os/sdk/schema").AuthoredProperty<{
79
+ readonly type: 'string';
80
+ readonly minLength: 1;
81
+ readonly maxLength: number;
82
+ }, {
83
+ readonly required: false;
84
+ }>;
85
+ readonly externalId: import("@astrale-os/sdk/schema").AuthoredProperty<{
86
+ readonly type: 'string';
87
+ readonly minLength: 1;
88
+ readonly maxLength: number;
89
+ }, {
90
+ readonly required: false;
91
+ }>;
92
+ readonly attributes: import("@astrale-os/sdk/schema").AuthoredProperty<{
93
+ readonly type: "object";
94
+ readonly additionalProperties: true;
95
+ readonly maxProperties: 64;
96
+ }, {
97
+ readonly required: false;
98
+ }>;
99
+ };
100
+ readonly policies: {
101
+ readonly read: true;
102
+ readonly traverse: true;
19
103
  };
20
104
  readonly methods: {
105
+ readonly create: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
106
+ email: string;
107
+ name: string;
108
+ givenName?: string | undefined;
109
+ familyName?: string | undefined;
110
+ attributes?: Record<string, unknown> | undefined;
111
+ }, {
112
+ readonly mode: 'value';
113
+ readonly value: {
114
+ user: string;
115
+ created: boolean;
116
+ };
117
+ }, "authorized", true, false, undefined, undefined>>;
21
118
  readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
119
+ email?: string | undefined;
22
120
  user: string;
23
- email: string;
121
+ profile?: "admin" | "member" | undefined;
24
122
  }, {
25
123
  readonly mode: 'value';
26
124
  readonly value: {
@@ -29,6 +127,59 @@ declare const frontend: import("@astrale-os/sdk/view").Frontend<import("@astrale
29
127
  state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
30
128
  };
31
129
  }, "authorized", true, false, undefined, undefined>>;
130
+ readonly update: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
131
+ name?: string | undefined;
132
+ email?: string | undefined;
133
+ givenName?: string | null | undefined;
134
+ familyName?: string | null | undefined;
135
+ icon?: string | null | undefined;
136
+ attributes?: Record<string, unknown> | null | undefined;
137
+ }, {
138
+ readonly mode: 'value';
139
+ readonly value: Record<string, never>;
140
+ }, "authorized", false, false, undefined, undefined>>;
141
+ readonly updateProfile: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
142
+ name?: string | undefined;
143
+ icon?: string | null | undefined;
144
+ }, {
145
+ readonly mode: 'value';
146
+ readonly value: Record<string, never>;
147
+ }, "authorized", false, false, undefined, undefined>>;
148
+ readonly deactivate: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
149
+ readonly mode: 'value';
150
+ readonly value: Record<string, never>;
151
+ }, "authorized", false, false, undefined, undefined>>;
152
+ readonly reactivate: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
153
+ readonly mode: 'value';
154
+ readonly value: Record<string, never>;
155
+ }, "authorized", false, false, undefined, undefined>>;
156
+ readonly delete: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
157
+ readonly mode: 'value';
158
+ readonly value: Record<string, never>;
159
+ }, "authorized", false, false, undefined, undefined>>;
160
+ readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
161
+ directory: string;
162
+ externalId: string;
163
+ email: string;
164
+ name: string;
165
+ givenName?: string | undefined;
166
+ familyName?: string | undefined;
167
+ active: boolean;
168
+ }, {
169
+ readonly mode: 'value';
170
+ readonly value: {
171
+ user: string;
172
+ created: boolean;
173
+ adopted: boolean;
174
+ };
175
+ }, "authorized", true, false, undefined, undefined>>;
176
+ readonly deprovision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
177
+ directory: string;
178
+ externalId: string;
179
+ }, {
180
+ readonly mode: 'value';
181
+ readonly value: Record<string, never>;
182
+ }, "authorized", true, false, undefined, undefined>>;
32
183
  readonly recordProfile: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
33
184
  email?: string | undefined;
34
185
  displayName?: string | undefined;
@@ -38,14 +189,129 @@ declare const frontend: import("@astrale-os/sdk/view").Frontend<import("@astrale
38
189
  }, "authorized", false, false, undefined, undefined>>;
39
190
  };
40
191
  }>;
192
+ readonly UserProfile: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
193
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
194
+ readonly inheritance: "final";
195
+ readonly abstract: false;
196
+ readonly description: "What others see of a person: name and email.";
197
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Named">];
198
+ readonly properties: {
199
+ givenName: import("@astrale-os/sdk/schema").AuthoredProperty<{
200
+ readonly type: 'string';
201
+ readonly minLength: 1;
202
+ readonly maxLength: number;
203
+ }, {
204
+ readonly required: false;
205
+ }>;
206
+ familyName: import("@astrale-os/sdk/schema").AuthoredProperty<{
207
+ readonly type: 'string';
208
+ readonly minLength: 1;
209
+ readonly maxLength: number;
210
+ }, {
211
+ readonly required: false;
212
+ }>;
213
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
214
+ readonly type: "string";
215
+ readonly minLength: 3;
216
+ readonly maxLength: 100;
217
+ }, {
218
+ readonly required: false;
219
+ }>;
220
+ };
221
+ readonly unique: readonly [readonly ["email"]];
222
+ readonly policies: {
223
+ readonly read: ({ anyOf, check, ref, self }: import("@astrale-os/sdk/schema").ClassRuleContext) => import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").ClassRuleObject>;
224
+ readonly traverse: true;
225
+ };
226
+ }>;
227
+ readonly user_profile: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
228
+ readonly depth: 0;
229
+ readonly abstract: false;
230
+ readonly extends: readonly [];
231
+ readonly properties: never;
232
+ readonly source: {
233
+ readonly as: "user";
234
+ readonly accepts: readonly {
235
+ readonly kind: 'node';
236
+ readonly abstract: false;
237
+ readonly depth: 1;
238
+ readonly properties: "attributes" | "claimedEmail" | "claimedName" | "creationKey" | "directory" | "directoryActive" | "email" | "externalId" | "familyName" | "frozen" | "givenName" | "icon" | "iss" | "name" | "sub" | "suspended";
239
+ readonly methods: "create" | "deactivate" | "delete" | "deprovision" | "invite" | "provision" | "reactivate" | "recordProfile" | "update" | "updateProfile";
240
+ }[];
241
+ readonly outgoing: "0..1";
242
+ };
243
+ readonly target: {
244
+ readonly as: "profile";
245
+ readonly accepts: readonly {
246
+ readonly kind: 'node';
247
+ readonly abstract: false;
248
+ readonly depth: 1;
249
+ readonly properties: "email" | "familyName" | "givenName" | "name";
250
+ readonly methods: never;
251
+ }[];
252
+ readonly incoming: "0..1";
253
+ };
254
+ readonly constraints: Record<never, never>;
255
+ readonly effectiveProperties: never;
256
+ }>;
41
257
  readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
42
258
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
43
259
  readonly inheritance: "open";
260
+ readonly abstract: false;
261
+ readonly description: "A set of accounts and groups; its members hold what it holds.";
262
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">, import("@astrale-os/sdk/schema").KernelClass<"Iconable">];
263
+ readonly properties: {
264
+ directory: import("@astrale-os/sdk/schema").AuthoredProperty<{
265
+ readonly type: 'string';
266
+ readonly minLength: 1;
267
+ readonly maxLength: 200;
268
+ }, {
269
+ readonly required: false;
270
+ }>;
271
+ externalId: import("@astrale-os/sdk/schema").AuthoredProperty<{
272
+ readonly type: 'string';
273
+ readonly minLength: 1;
274
+ readonly maxLength: 200;
275
+ }, {
276
+ readonly required: false;
277
+ }>;
278
+ attributes: import("@astrale-os/sdk/schema").AuthoredProperty<{
279
+ readonly type: "object";
280
+ readonly additionalProperties: true;
281
+ readonly maxProperties: 64;
282
+ }, {
283
+ readonly required: false;
284
+ }>;
285
+ };
44
286
  readonly policies: {
45
287
  readonly read: true;
288
+ readonly traverse: true;
46
289
  };
47
- readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
48
290
  readonly methods: {
291
+ readonly create: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
292
+ name: string;
293
+ description?: string | undefined;
294
+ icon?: string | null | undefined;
295
+ attributes?: Record<string, unknown> | undefined;
296
+ }, {
297
+ readonly mode: 'value';
298
+ readonly value: {
299
+ group: string;
300
+ };
301
+ }, "authorized", true, false, undefined, undefined>>;
302
+ readonly update: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
303
+ name?: string | undefined;
304
+ description?: string | null | undefined;
305
+ icon?: string | null | undefined;
306
+ attributes?: Record<string, unknown> | null | undefined;
307
+ }, {
308
+ readonly mode: 'value';
309
+ readonly value: Record<string, never>;
310
+ }, "authorized", false, false, undefined, undefined>>;
311
+ readonly delete: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
312
+ readonly mode: 'value';
313
+ readonly value: Record<string, never>;
314
+ }, "authorized", false, false, undefined, undefined>>;
49
315
  readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
50
316
  member: string;
51
317
  group: string;
@@ -60,38 +326,202 @@ declare const frontend: import("@astrale-os/sdk/view").Frontend<import("@astrale
60
326
  readonly mode: 'value';
61
327
  readonly value: Record<string, never>;
62
328
  }, "authorized", true, false, undefined, undefined>>;
329
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
330
+ members: string[];
331
+ group: string;
332
+ }, {
333
+ readonly mode: 'value';
334
+ readonly value: Record<string, never>;
335
+ }, "authorized", true, false, undefined, undefined>>;
336
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
337
+ members: string[];
338
+ group: string;
339
+ }, {
340
+ readonly mode: 'value';
341
+ readonly value: Record<string, never>;
342
+ }, "authorized", true, false, undefined, undefined>>;
343
+ readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
344
+ directory: string;
345
+ externalId: string;
346
+ name: string;
347
+ }, {
348
+ readonly mode: 'value';
349
+ readonly value: {
350
+ group: string;
351
+ created: boolean;
352
+ };
353
+ }, "authorized", true, false, undefined, undefined>>;
354
+ readonly deprovision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
355
+ directory: string;
356
+ externalId: string;
357
+ }, {
358
+ readonly mode: 'value';
359
+ readonly value: Record<string, never>;
360
+ }, "authorized", true, false, undefined, undefined>>;
63
361
  };
64
362
  }>;
65
- readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
363
+ readonly GroupProfile: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
364
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
365
+ readonly inheritance: "final";
366
+ readonly abstract: false;
367
+ readonly description: "What others see of a group: name and description.";
368
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
369
+ readonly policies: {
370
+ readonly read: ({ anyOf, check, ref, self }: import("@astrale-os/sdk/schema").ClassRuleContext) => import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").ClassRuleObject>;
371
+ readonly traverse: true;
372
+ };
373
+ }>;
374
+ readonly group_profile: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
66
375
  readonly depth: 0;
67
376
  readonly abstract: false;
68
377
  readonly extends: readonly [];
69
378
  readonly properties: never;
70
379
  readonly source: {
71
- readonly as: "member";
72
- readonly accepts: readonly (() => {
380
+ readonly as: "group";
381
+ readonly accepts: readonly {
73
382
  readonly kind: 'node';
74
- readonly abstract: never;
75
- readonly depth: never;
76
- readonly properties: never;
77
- readonly methods: never;
78
- })[];
79
- readonly outgoing: "0..*";
383
+ readonly abstract: false;
384
+ readonly depth: 1;
385
+ readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
386
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
387
+ }[];
388
+ readonly outgoing: "0..1";
80
389
  };
81
390
  readonly target: {
82
- readonly as: "group";
83
- readonly accepts: readonly (() => {
391
+ readonly as: "profile";
392
+ readonly accepts: readonly {
84
393
  readonly kind: 'node';
85
- readonly abstract: never;
86
- readonly depth: never;
87
- readonly properties: never;
394
+ readonly abstract: false;
395
+ readonly depth: 1;
396
+ readonly properties: "description" | "name";
88
397
  readonly methods: never;
89
- })[];
398
+ }[];
399
+ readonly incoming: "0..1";
400
+ };
401
+ readonly constraints: Record<never, never>;
402
+ readonly effectiveProperties: never;
403
+ }>;
404
+ readonly Invitation: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
405
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
406
+ readonly inheritance: "final";
407
+ readonly abstract: false;
408
+ readonly description: "One invitation of an account, until it is accepted, cancelled or expired.";
409
+ readonly properties: {
410
+ status: import("@astrale-os/sdk/schema").AuthoredProperty<{
411
+ readonly type: "string";
412
+ readonly enum: readonly ["pending", "accepted", "cancelled", "expired"];
413
+ }, {
414
+ readonly required?: boolean;
415
+ readonly description?: string;
416
+ readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
417
+ }>;
418
+ expiresAt: import("@astrale-os/sdk/schema").AuthoredProperty<{
419
+ readonly type: "string";
420
+ readonly minLength: 20;
421
+ readonly maxLength: 40;
422
+ }, {
423
+ readonly required?: boolean;
424
+ readonly description?: string;
425
+ readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
426
+ }>;
427
+ execution: import("@astrale-os/sdk/schema").AuthoredProperty<{
428
+ readonly type: "string";
429
+ readonly minLength: 1;
430
+ readonly maxLength: 200;
431
+ }, {
432
+ readonly required?: boolean;
433
+ readonly description?: string;
434
+ readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
435
+ }>;
436
+ round: import("@astrale-os/sdk/schema").AuthoredProperty<{
437
+ readonly type: "integer";
438
+ readonly minimum: 0;
439
+ }, {
440
+ readonly required?: boolean;
441
+ readonly description?: string;
442
+ readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
443
+ }>;
444
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
445
+ readonly type: "string";
446
+ readonly minLength: 3;
447
+ readonly maxLength: 320;
448
+ }, {
449
+ readonly required: false;
450
+ }>;
451
+ };
452
+ readonly policies: {
453
+ readonly read: ({ check, ref }: import("@astrale-os/sdk/schema").ClassRuleContext) => import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").ClassRuleObject>;
454
+ readonly traverse: true;
455
+ };
456
+ readonly methods: {
457
+ readonly send: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
458
+ user: string;
459
+ }, {
460
+ readonly mode: 'value';
461
+ readonly value: {
462
+ status: "accepted" | "cancelled" | "expired" | "pending";
463
+ };
464
+ }, "authorized", true, false, {
465
+ readonly durable: true;
466
+ }, undefined>>;
467
+ readonly resend: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
468
+ readonly mode: 'value';
469
+ readonly value: Record<string, never>;
470
+ }, "authorized", false, false, undefined, undefined>>;
471
+ readonly cancel: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
472
+ readonly mode: 'value';
473
+ readonly value: Record<string, never>;
474
+ }, "authorized", false, false, undefined, undefined>>;
475
+ readonly accept: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
476
+ iss: string;
477
+ sub: string;
478
+ }, {
479
+ readonly mode: 'value';
480
+ readonly value: Record<string, never>;
481
+ }, "authorized", false, false, undefined, undefined>>;
482
+ };
483
+ }>;
484
+ readonly invitation_user: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
485
+ readonly depth: 0;
486
+ readonly abstract: false;
487
+ readonly extends: readonly [];
488
+ readonly properties: never;
489
+ readonly source: {
490
+ readonly as: "invitation";
491
+ readonly accepts: readonly {
492
+ readonly kind: 'node';
493
+ readonly abstract: false;
494
+ readonly depth: 0;
495
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
496
+ readonly methods: "accept" | "cancel" | "resend" | "send";
497
+ }[];
498
+ readonly outgoing: "0..1";
499
+ };
500
+ readonly target: {
501
+ readonly as: "user";
502
+ readonly accepts: readonly {
503
+ readonly kind: 'node';
504
+ readonly abstract: false;
505
+ readonly depth: 1;
506
+ readonly properties: "attributes" | "claimedEmail" | "claimedName" | "creationKey" | "directory" | "directoryActive" | "email" | "externalId" | "familyName" | "frozen" | "givenName" | "icon" | "iss" | "name" | "sub" | "suspended";
507
+ readonly methods: "create" | "deactivate" | "delete" | "deprovision" | "invite" | "provision" | "reactivate" | "recordProfile" | "update" | "updateProfile";
508
+ }[];
90
509
  readonly incoming: "0..*";
91
510
  };
92
511
  readonly constraints: Record<never, never>;
93
512
  readonly effectiveProperties: never;
94
513
  }>;
514
+ readonly Role: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
515
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
516
+ readonly inheritance: "final";
517
+ readonly abstract: false;
518
+ readonly description: "A Role the Shell declares.";
519
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Role">];
520
+ readonly policies: {
521
+ readonly read: ({ anyOf, check, ref, self }: import("@astrale-os/sdk/schema").ClassRuleContext) => import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").ClassRuleObject>;
522
+ readonly traverse: true;
523
+ };
524
+ }>;
95
525
  readonly Namespace: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
96
526
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
97
527
  readonly policies: {
@@ -154,13 +584,9 @@ declare const frontend: import("@astrale-os/sdk/view").Frontend<import("@astrale
154
584
  readonly extends: readonly [];
155
585
  readonly properties: never;
156
586
  readonly source: {
157
- readonly as: "holder";
158
- readonly accepts: readonly (() => {
159
- readonly kind: 'node';
160
- readonly abstract: never;
161
- readonly depth: never;
162
- readonly properties: never;
163
- readonly methods: never;
587
+ readonly as: "audience";
588
+ readonly accepts: readonly (import("@astrale-os/sdk/schema").ClassRef<"Identity"> & {
589
+ readonly origin: "kernel.astrale.ai";
164
590
  })[];
165
591
  readonly outgoing: "0..*";
166
592
  };
@@ -196,6 +622,26 @@ declare const frontend: import("@astrale-os/sdk/view").Frontend<import("@astrale
196
622
  readonly mode: 'value';
197
623
  readonly value: Record<string, never>;
198
624
  }, "authorized", false, false, undefined, undefined>>;
625
+ readonly legacyMigrateAccounts: import("@astrale-os/sdk/schema").Function<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
626
+ readonly mode: 'value';
627
+ readonly value: {
628
+ migrated: number;
629
+ conflicts: {
630
+ user: string;
631
+ email: string;
632
+ }[];
633
+ profiles: number;
634
+ };
635
+ }, "authorized", false, false, undefined, undefined>>;
636
+ readonly disconnectDirectory: import("@astrale-os/sdk/schema").Function<import("@astrale-os/sdk/schema").CallableProjection<{
637
+ directory: string;
638
+ }, {
639
+ readonly mode: 'value';
640
+ readonly value: {
641
+ users: number;
642
+ groups: number;
643
+ };
644
+ }, "authorized", false, false, undefined, undefined>>;
199
645
  };
200
646
  readonly policies: {
201
647
  readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
@@ -203,23 +649,45 @@ declare const frontend: import("@astrale-os/sdk/view").Frontend<import("@astrale
203
649
  readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
204
650
  readonly usesFunction: import("@astrale-os/sdk/schema").Policy;
205
651
  readonly isSelf: import("@astrale-os/sdk/schema").Policy;
652
+ readonly legacyOwnsMembershipGroup: import("@astrale-os/sdk/schema").Policy;
653
+ readonly hasRole: import("@astrale-os/sdk/schema").Policy;
654
+ readonly holdsViewAccess: import("@astrale-os/sdk/schema").Policy;
655
+ readonly describesSubject: import("@astrale-os/sdk/schema").Policy;
656
+ readonly isProfileSource: import("@astrale-os/sdk/schema").Policy;
657
+ readonly describesGroupOfSubject: import("@astrale-os/sdk/schema").Policy;
658
+ readonly isGroupProfileSource: import("@astrale-os/sdk/schema").Policy;
206
659
  };
207
660
  readonly views: {
208
661
  readonly application: import("@astrale-os/sdk/schema").View;
209
662
  };
210
663
  readonly core: {
211
664
  readonly nodes: {
665
+ readonly 'workspace.member': import("@astrale-os/sdk/schema").CoreNode;
666
+ readonly 'workspace.admin': import("@astrale-os/sdk/schema").CoreNode;
667
+ readonly 'user.reader': import("@astrale-os/sdk/schema").CoreNode;
668
+ readonly 'user.writer': import("@astrale-os/sdk/schema").CoreNode;
669
+ readonly 'group.reader': import("@astrale-os/sdk/schema").CoreNode;
670
+ readonly 'group.writer': import("@astrale-os/sdk/schema").CoreNode;
671
+ readonly 'directory.provisioner': import("@astrale-os/sdk/schema").CoreNode;
672
+ readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
673
+ readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
674
+ readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
675
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
212
676
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
213
- readonly applications: import("@astrale-os/sdk/schema").CoreNode;
214
677
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
215
- readonly views: import("@astrale-os/sdk/schema").CoreNode;
678
+ readonly applications: import("@astrale-os/sdk/schema").CoreNode;
216
679
  readonly 'view-only': import("@astrale-os/sdk/schema").CoreNode;
680
+ readonly views: import("@astrale-os/sdk/schema").CoreNode;
217
681
  };
218
682
  };
219
683
  }, {
220
684
  readonly kernel: "kernel.astrale.ai";
221
685
  }]>>;
222
- declare const domainRequirements: import("@astrale-os/sdk/domain").LegacyRequirements;
686
+ /**
687
+ * The Roles the Shell release binds: `admin` is the only granter of every Shell Role and of the
688
+ * grantable Kernel Roles (R2); compositions are release bindings, not Core Edges (AM1).
689
+ */
690
+ declare const domainRequirements: import("@astrale-os/sdk/domain").RoleRequirements;
223
691
  export type ShellDomain = DomainDefinition<typeof ShellSchema, ShellRuntime, typeof frontend, undefined, typeof domainRequirements>;
224
692
  export declare const domain: ShellDomain;
225
693
  export {};