@astrale-domains/shell 0.1.6 → 0.1.7

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