@astrale-domains/shell 0.1.7 → 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 (41) hide show
  1. package/dist/domain.d.ts +24 -2
  2. package/dist/domain.js +13 -1
  3. package/dist/functions/authority/roles.js +45 -30
  4. package/dist/functions/group/assign-member.js +6 -3
  5. package/dist/functions/group/change-group-membership.js +86 -39
  6. package/dist/functions/group/group-membership-errors.js +1 -1
  7. package/dist/functions/group/index.js +2 -2
  8. package/dist/functions/group/legacy/index.js +1 -1
  9. package/dist/functions/group/legacy/membership.js +21 -17
  10. package/dist/functions/group/membership-laws.js +5 -8
  11. package/dist/functions/group/unassign-member.js +6 -3
  12. package/dist/functions/invitation/send-invitation.js +57 -7
  13. package/dist/mutations/group/index.js +1 -1
  14. package/dist/mutations/group/set-group-membership.js +45 -13
  15. package/dist/mutations/invitation/write-invitation.js +19 -2
  16. package/dist/queries/composition/index.js +1 -1
  17. package/dist/queries/composition/read-role-nodes.js +48 -13
  18. package/dist/queries/group/index.js +1 -0
  19. package/dist/queries/group/legacy/index.js +1 -0
  20. package/dist/queries/group/legacy/read-members-of-group.js +27 -0
  21. package/dist/queries/group/read-group-members.js +73 -0
  22. package/dist/queries/invitation/index.js +1 -1
  23. package/dist/queries/invitation/read-invitation.js +33 -8
  24. package/dist/queries/role/index.js +1 -1
  25. package/dist/queries/role/read-role-node.js +8 -0
  26. package/dist/runtime.d.ts +2172 -64
  27. package/dist/runtime.js +3 -1
  28. package/dist/schema/modules/application/legacy/functions/list-entrypoints.js +5 -4
  29. package/dist/schema/modules/group/classes/group-profile-link.d.ts +1 -1
  30. package/dist/schema/modules/group/classes/group.d.ts +14 -0
  31. package/dist/schema/modules/group/classes/group.js +12 -2
  32. package/dist/schema/modules/group/functions/assign-members.js +17 -0
  33. package/dist/schema/modules/group/functions/index.js +2 -0
  34. package/dist/schema/modules/group/functions/unassign-members.js +17 -0
  35. package/dist/schema/modules/group/types/group-membership-input.js +8 -0
  36. package/dist/schema/modules/group/types/index.js +1 -1
  37. package/dist/schema/modules/invitation/classes/invitation.js +4 -2
  38. package/dist/schema/modules/role/core/roles.d.ts +2 -0
  39. package/dist/schema/modules/role/core/roles.js +1 -0
  40. package/dist/schema/schema.d.ts +95 -8
  41. package/package.json +2 -2
package/dist/runtime.d.ts CHANGED
@@ -337,6 +337,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
337
337
  readonly mode: 'value';
338
338
  readonly value: Record<string, never>;
339
339
  }, "authorized", true, false, undefined, undefined>>;
340
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
341
+ members: string[];
342
+ group: string;
343
+ }, {
344
+ readonly mode: 'value';
345
+ readonly value: Record<string, never>;
346
+ }, "authorized", true, false, undefined, undefined>>;
347
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
348
+ members: string[];
349
+ group: string;
350
+ }, {
351
+ readonly mode: 'value';
352
+ readonly value: Record<string, never>;
353
+ }, "authorized", true, false, undefined, undefined>>;
340
354
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
341
355
  directory: string;
342
356
  externalId: string;
@@ -380,7 +394,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
380
394
  readonly abstract: false;
381
395
  readonly depth: 1;
382
396
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
383
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
397
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
384
398
  }[];
385
399
  readonly outgoing: "0..1";
386
400
  };
@@ -438,6 +452,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
438
452
  readonly description?: string;
439
453
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
440
454
  }>;
455
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
456
+ readonly type: "string";
457
+ readonly minLength: 3;
458
+ readonly maxLength: 320;
459
+ }, {
460
+ readonly required: false;
461
+ }>;
441
462
  };
442
463
  readonly policies: {
443
464
  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>;
@@ -482,7 +503,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
482
503
  readonly kind: 'node';
483
504
  readonly abstract: false;
484
505
  readonly depth: 0;
485
- readonly properties: "execution" | "expiresAt" | "round" | "status";
506
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
486
507
  readonly methods: "accept" | "cancel" | "resend" | "send";
487
508
  }[];
488
509
  readonly outgoing: "0..1";
@@ -662,6 +683,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
662
683
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
663
684
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
664
685
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
686
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
665
687
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
666
688
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
667
689
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -1063,6 +1085,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
1063
1085
  readonly mode: 'value';
1064
1086
  readonly value: Record<string, never>;
1065
1087
  }, "authorized", true, false, undefined, undefined>>;
1088
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
1089
+ members: string[];
1090
+ group: string;
1091
+ }, {
1092
+ readonly mode: 'value';
1093
+ readonly value: Record<string, never>;
1094
+ }, "authorized", true, false, undefined, undefined>>;
1095
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
1096
+ members: string[];
1097
+ group: string;
1098
+ }, {
1099
+ readonly mode: 'value';
1100
+ readonly value: Record<string, never>;
1101
+ }, "authorized", true, false, undefined, undefined>>;
1066
1102
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
1067
1103
  directory: string;
1068
1104
  externalId: string;
@@ -1106,7 +1142,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
1106
1142
  readonly abstract: false;
1107
1143
  readonly depth: 1;
1108
1144
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
1109
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
1145
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
1110
1146
  }[];
1111
1147
  readonly outgoing: "0..1";
1112
1148
  };
@@ -1164,6 +1200,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
1164
1200
  readonly description?: string;
1165
1201
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
1166
1202
  }>;
1203
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
1204
+ readonly type: "string";
1205
+ readonly minLength: 3;
1206
+ readonly maxLength: 320;
1207
+ }, {
1208
+ readonly required: false;
1209
+ }>;
1167
1210
  };
1168
1211
  readonly policies: {
1169
1212
  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>;
@@ -1208,7 +1251,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
1208
1251
  readonly kind: 'node';
1209
1252
  readonly abstract: false;
1210
1253
  readonly depth: 0;
1211
- readonly properties: "execution" | "expiresAt" | "round" | "status";
1254
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
1212
1255
  readonly methods: "accept" | "cancel" | "resend" | "send";
1213
1256
  }[];
1214
1257
  readonly outgoing: "0..1";
@@ -1388,6 +1431,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
1388
1431
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
1389
1432
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
1390
1433
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
1434
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
1391
1435
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
1392
1436
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
1393
1437
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -1816,6 +1860,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
1816
1860
  readonly mode: 'value';
1817
1861
  readonly value: Record<string, never>;
1818
1862
  }, "authorized", true, false, undefined, undefined>>;
1863
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
1864
+ members: string[];
1865
+ group: string;
1866
+ }, {
1867
+ readonly mode: 'value';
1868
+ readonly value: Record<string, never>;
1869
+ }, "authorized", true, false, undefined, undefined>>;
1870
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
1871
+ members: string[];
1872
+ group: string;
1873
+ }, {
1874
+ readonly mode: 'value';
1875
+ readonly value: Record<string, never>;
1876
+ }, "authorized", true, false, undefined, undefined>>;
1819
1877
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
1820
1878
  directory: string;
1821
1879
  externalId: string;
@@ -1859,7 +1917,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
1859
1917
  readonly abstract: false;
1860
1918
  readonly depth: 1;
1861
1919
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
1862
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
1920
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
1863
1921
  }[];
1864
1922
  readonly outgoing: "0..1";
1865
1923
  };
@@ -1917,6 +1975,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
1917
1975
  readonly description?: string;
1918
1976
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
1919
1977
  }>;
1978
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
1979
+ readonly type: "string";
1980
+ readonly minLength: 3;
1981
+ readonly maxLength: 320;
1982
+ }, {
1983
+ readonly required: false;
1984
+ }>;
1920
1985
  };
1921
1986
  readonly policies: {
1922
1987
  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>;
@@ -1961,7 +2026,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
1961
2026
  readonly kind: 'node';
1962
2027
  readonly abstract: false;
1963
2028
  readonly depth: 0;
1964
- readonly properties: "execution" | "expiresAt" | "round" | "status";
2029
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
1965
2030
  readonly methods: "accept" | "cancel" | "resend" | "send";
1966
2031
  }[];
1967
2032
  readonly outgoing: "0..1";
@@ -2141,6 +2206,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
2141
2206
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
2142
2207
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
2143
2208
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
2209
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
2144
2210
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
2145
2211
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
2146
2212
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -2542,6 +2608,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
2542
2608
  readonly mode: 'value';
2543
2609
  readonly value: Record<string, never>;
2544
2610
  }, "authorized", true, false, undefined, undefined>>;
2611
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
2612
+ members: string[];
2613
+ group: string;
2614
+ }, {
2615
+ readonly mode: 'value';
2616
+ readonly value: Record<string, never>;
2617
+ }, "authorized", true, false, undefined, undefined>>;
2618
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
2619
+ members: string[];
2620
+ group: string;
2621
+ }, {
2622
+ readonly mode: 'value';
2623
+ readonly value: Record<string, never>;
2624
+ }, "authorized", true, false, undefined, undefined>>;
2545
2625
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
2546
2626
  directory: string;
2547
2627
  externalId: string;
@@ -2585,7 +2665,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
2585
2665
  readonly abstract: false;
2586
2666
  readonly depth: 1;
2587
2667
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
2588
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
2668
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
2589
2669
  }[];
2590
2670
  readonly outgoing: "0..1";
2591
2671
  };
@@ -2643,6 +2723,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
2643
2723
  readonly description?: string;
2644
2724
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
2645
2725
  }>;
2726
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
2727
+ readonly type: "string";
2728
+ readonly minLength: 3;
2729
+ readonly maxLength: 320;
2730
+ }, {
2731
+ readonly required: false;
2732
+ }>;
2646
2733
  };
2647
2734
  readonly policies: {
2648
2735
  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>;
@@ -2687,7 +2774,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
2687
2774
  readonly kind: 'node';
2688
2775
  readonly abstract: false;
2689
2776
  readonly depth: 0;
2690
- readonly properties: "execution" | "expiresAt" | "round" | "status";
2777
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
2691
2778
  readonly methods: "accept" | "cancel" | "resend" | "send";
2692
2779
  }[];
2693
2780
  readonly outgoing: "0..1";
@@ -2867,6 +2954,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
2867
2954
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
2868
2955
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
2869
2956
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
2957
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
2870
2958
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
2871
2959
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
2872
2960
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -3268,6 +3356,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
3268
3356
  readonly mode: 'value';
3269
3357
  readonly value: Record<string, never>;
3270
3358
  }, "authorized", true, false, undefined, undefined>>;
3359
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
3360
+ members: string[];
3361
+ group: string;
3362
+ }, {
3363
+ readonly mode: 'value';
3364
+ readonly value: Record<string, never>;
3365
+ }, "authorized", true, false, undefined, undefined>>;
3366
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
3367
+ members: string[];
3368
+ group: string;
3369
+ }, {
3370
+ readonly mode: 'value';
3371
+ readonly value: Record<string, never>;
3372
+ }, "authorized", true, false, undefined, undefined>>;
3271
3373
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
3272
3374
  directory: string;
3273
3375
  externalId: string;
@@ -3311,7 +3413,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
3311
3413
  readonly abstract: false;
3312
3414
  readonly depth: 1;
3313
3415
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
3314
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
3416
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
3315
3417
  }[];
3316
3418
  readonly outgoing: "0..1";
3317
3419
  };
@@ -3369,6 +3471,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
3369
3471
  readonly description?: string;
3370
3472
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
3371
3473
  }>;
3474
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
3475
+ readonly type: "string";
3476
+ readonly minLength: 3;
3477
+ readonly maxLength: 320;
3478
+ }, {
3479
+ readonly required: false;
3480
+ }>;
3372
3481
  };
3373
3482
  readonly policies: {
3374
3483
  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>;
@@ -3413,7 +3522,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
3413
3522
  readonly kind: 'node';
3414
3523
  readonly abstract: false;
3415
3524
  readonly depth: 0;
3416
- readonly properties: "execution" | "expiresAt" | "round" | "status";
3525
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
3417
3526
  readonly methods: "accept" | "cancel" | "resend" | "send";
3418
3527
  }[];
3419
3528
  readonly outgoing: "0..1";
@@ -3593,6 +3702,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
3593
3702
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
3594
3703
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
3595
3704
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
3705
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
3596
3706
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
3597
3707
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
3598
3708
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -3994,6 +4104,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
3994
4104
  readonly mode: 'value';
3995
4105
  readonly value: Record<string, never>;
3996
4106
  }, "authorized", true, false, undefined, undefined>>;
4107
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
4108
+ members: string[];
4109
+ group: string;
4110
+ }, {
4111
+ readonly mode: 'value';
4112
+ readonly value: Record<string, never>;
4113
+ }, "authorized", true, false, undefined, undefined>>;
4114
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
4115
+ members: string[];
4116
+ group: string;
4117
+ }, {
4118
+ readonly mode: 'value';
4119
+ readonly value: Record<string, never>;
4120
+ }, "authorized", true, false, undefined, undefined>>;
3997
4121
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
3998
4122
  directory: string;
3999
4123
  externalId: string;
@@ -4037,7 +4161,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
4037
4161
  readonly abstract: false;
4038
4162
  readonly depth: 1;
4039
4163
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
4040
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
4164
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
4041
4165
  }[];
4042
4166
  readonly outgoing: "0..1";
4043
4167
  };
@@ -4095,6 +4219,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
4095
4219
  readonly description?: string;
4096
4220
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
4097
4221
  }>;
4222
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
4223
+ readonly type: "string";
4224
+ readonly minLength: 3;
4225
+ readonly maxLength: 320;
4226
+ }, {
4227
+ readonly required: false;
4228
+ }>;
4098
4229
  };
4099
4230
  readonly policies: {
4100
4231
  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>;
@@ -4139,7 +4270,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
4139
4270
  readonly kind: 'node';
4140
4271
  readonly abstract: false;
4141
4272
  readonly depth: 0;
4142
- readonly properties: "execution" | "expiresAt" | "round" | "status";
4273
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
4143
4274
  readonly methods: "accept" | "cancel" | "resend" | "send";
4144
4275
  }[];
4145
4276
  readonly outgoing: "0..1";
@@ -4319,6 +4450,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
4319
4450
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
4320
4451
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
4321
4452
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
4453
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
4322
4454
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
4323
4455
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
4324
4456
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -4720,6 +4852,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
4720
4852
  readonly mode: 'value';
4721
4853
  readonly value: Record<string, never>;
4722
4854
  }, "authorized", true, false, undefined, undefined>>;
4855
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
4856
+ members: string[];
4857
+ group: string;
4858
+ }, {
4859
+ readonly mode: 'value';
4860
+ readonly value: Record<string, never>;
4861
+ }, "authorized", true, false, undefined, undefined>>;
4862
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
4863
+ members: string[];
4864
+ group: string;
4865
+ }, {
4866
+ readonly mode: 'value';
4867
+ readonly value: Record<string, never>;
4868
+ }, "authorized", true, false, undefined, undefined>>;
4723
4869
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
4724
4870
  directory: string;
4725
4871
  externalId: string;
@@ -4763,7 +4909,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
4763
4909
  readonly abstract: false;
4764
4910
  readonly depth: 1;
4765
4911
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
4766
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
4912
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
4767
4913
  }[];
4768
4914
  readonly outgoing: "0..1";
4769
4915
  };
@@ -4821,6 +4967,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
4821
4967
  readonly description?: string;
4822
4968
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
4823
4969
  }>;
4970
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
4971
+ readonly type: "string";
4972
+ readonly minLength: 3;
4973
+ readonly maxLength: 320;
4974
+ }, {
4975
+ readonly required: false;
4976
+ }>;
4824
4977
  };
4825
4978
  readonly policies: {
4826
4979
  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>;
@@ -4865,7 +5018,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
4865
5018
  readonly kind: 'node';
4866
5019
  readonly abstract: false;
4867
5020
  readonly depth: 0;
4868
- readonly properties: "execution" | "expiresAt" | "round" | "status";
5021
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
4869
5022
  readonly methods: "accept" | "cancel" | "resend" | "send";
4870
5023
  }[];
4871
5024
  readonly outgoing: "0..1";
@@ -5045,6 +5198,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
5045
5198
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
5046
5199
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
5047
5200
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
5201
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
5048
5202
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
5049
5203
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
5050
5204
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -5446,6 +5600,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
5446
5600
  readonly mode: 'value';
5447
5601
  readonly value: Record<string, never>;
5448
5602
  }, "authorized", true, false, undefined, undefined>>;
5603
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
5604
+ members: string[];
5605
+ group: string;
5606
+ }, {
5607
+ readonly mode: 'value';
5608
+ readonly value: Record<string, never>;
5609
+ }, "authorized", true, false, undefined, undefined>>;
5610
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
5611
+ members: string[];
5612
+ group: string;
5613
+ }, {
5614
+ readonly mode: 'value';
5615
+ readonly value: Record<string, never>;
5616
+ }, "authorized", true, false, undefined, undefined>>;
5449
5617
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
5450
5618
  directory: string;
5451
5619
  externalId: string;
@@ -5489,7 +5657,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
5489
5657
  readonly abstract: false;
5490
5658
  readonly depth: 1;
5491
5659
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
5492
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
5660
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
5493
5661
  }[];
5494
5662
  readonly outgoing: "0..1";
5495
5663
  };
@@ -5547,6 +5715,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
5547
5715
  readonly description?: string;
5548
5716
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
5549
5717
  }>;
5718
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
5719
+ readonly type: "string";
5720
+ readonly minLength: 3;
5721
+ readonly maxLength: 320;
5722
+ }, {
5723
+ readonly required: false;
5724
+ }>;
5550
5725
  };
5551
5726
  readonly policies: {
5552
5727
  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>;
@@ -5591,7 +5766,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
5591
5766
  readonly kind: 'node';
5592
5767
  readonly abstract: false;
5593
5768
  readonly depth: 0;
5594
- readonly properties: "execution" | "expiresAt" | "round" | "status";
5769
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
5595
5770
  readonly methods: "accept" | "cancel" | "resend" | "send";
5596
5771
  }[];
5597
5772
  readonly outgoing: "0..1";
@@ -5771,6 +5946,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
5771
5946
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
5772
5947
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
5773
5948
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
5949
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
5774
5950
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
5775
5951
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
5776
5952
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -6172,6 +6348,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
6172
6348
  readonly mode: 'value';
6173
6349
  readonly value: Record<string, never>;
6174
6350
  }, "authorized", true, false, undefined, undefined>>;
6351
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
6352
+ members: string[];
6353
+ group: string;
6354
+ }, {
6355
+ readonly mode: 'value';
6356
+ readonly value: Record<string, never>;
6357
+ }, "authorized", true, false, undefined, undefined>>;
6358
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
6359
+ members: string[];
6360
+ group: string;
6361
+ }, {
6362
+ readonly mode: 'value';
6363
+ readonly value: Record<string, never>;
6364
+ }, "authorized", true, false, undefined, undefined>>;
6175
6365
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
6176
6366
  directory: string;
6177
6367
  externalId: string;
@@ -6215,7 +6405,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
6215
6405
  readonly abstract: false;
6216
6406
  readonly depth: 1;
6217
6407
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
6218
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
6408
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
6219
6409
  }[];
6220
6410
  readonly outgoing: "0..1";
6221
6411
  };
@@ -6273,6 +6463,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
6273
6463
  readonly description?: string;
6274
6464
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
6275
6465
  }>;
6466
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
6467
+ readonly type: "string";
6468
+ readonly minLength: 3;
6469
+ readonly maxLength: 320;
6470
+ }, {
6471
+ readonly required: false;
6472
+ }>;
6276
6473
  };
6277
6474
  readonly policies: {
6278
6475
  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>;
@@ -6317,7 +6514,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
6317
6514
  readonly kind: 'node';
6318
6515
  readonly abstract: false;
6319
6516
  readonly depth: 0;
6320
- readonly properties: "execution" | "expiresAt" | "round" | "status";
6517
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
6321
6518
  readonly methods: "accept" | "cancel" | "resend" | "send";
6322
6519
  }[];
6323
6520
  readonly outgoing: "0..1";
@@ -6497,6 +6694,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
6497
6694
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
6498
6695
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
6499
6696
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
6697
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
6500
6698
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
6501
6699
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
6502
6700
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -6898,6 +7096,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
6898
7096
  readonly mode: 'value';
6899
7097
  readonly value: Record<string, never>;
6900
7098
  }, "authorized", true, false, undefined, undefined>>;
7099
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
7100
+ members: string[];
7101
+ group: string;
7102
+ }, {
7103
+ readonly mode: 'value';
7104
+ readonly value: Record<string, never>;
7105
+ }, "authorized", true, false, undefined, undefined>>;
7106
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
7107
+ members: string[];
7108
+ group: string;
7109
+ }, {
7110
+ readonly mode: 'value';
7111
+ readonly value: Record<string, never>;
7112
+ }, "authorized", true, false, undefined, undefined>>;
6901
7113
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
6902
7114
  directory: string;
6903
7115
  externalId: string;
@@ -6941,7 +7153,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
6941
7153
  readonly abstract: false;
6942
7154
  readonly depth: 1;
6943
7155
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
6944
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
7156
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
6945
7157
  }[];
6946
7158
  readonly outgoing: "0..1";
6947
7159
  };
@@ -6999,6 +7211,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
6999
7211
  readonly description?: string;
7000
7212
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
7001
7213
  }>;
7214
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
7215
+ readonly type: "string";
7216
+ readonly minLength: 3;
7217
+ readonly maxLength: 320;
7218
+ }, {
7219
+ readonly required: false;
7220
+ }>;
7002
7221
  };
7003
7222
  readonly policies: {
7004
7223
  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>;
@@ -7043,7 +7262,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
7043
7262
  readonly kind: 'node';
7044
7263
  readonly abstract: false;
7045
7264
  readonly depth: 0;
7046
- readonly properties: "execution" | "expiresAt" | "round" | "status";
7265
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
7047
7266
  readonly methods: "accept" | "cancel" | "resend" | "send";
7048
7267
  }[];
7049
7268
  readonly outgoing: "0..1";
@@ -7223,6 +7442,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
7223
7442
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
7224
7443
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
7225
7444
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
7445
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
7226
7446
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
7227
7447
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
7228
7448
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -7597,6 +7817,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
7597
7817
  readonly mode: 'value';
7598
7818
  readonly value: Record<string, never>;
7599
7819
  }, "authorized", true, false, undefined, undefined>>;
7820
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
7821
+ members: string[];
7822
+ group: string;
7823
+ }, {
7824
+ readonly mode: 'value';
7825
+ readonly value: Record<string, never>;
7826
+ }, "authorized", true, false, undefined, undefined>>;
7827
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
7828
+ members: string[];
7829
+ group: string;
7830
+ }, {
7831
+ readonly mode: 'value';
7832
+ readonly value: Record<string, never>;
7833
+ }, "authorized", true, false, undefined, undefined>>;
7600
7834
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
7601
7835
  directory: string;
7602
7836
  externalId: string;
@@ -7640,7 +7874,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
7640
7874
  readonly abstract: false;
7641
7875
  readonly depth: 1;
7642
7876
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
7643
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
7877
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
7644
7878
  }[];
7645
7879
  readonly outgoing: "0..1";
7646
7880
  };
@@ -7698,6 +7932,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
7698
7932
  readonly description?: string;
7699
7933
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
7700
7934
  }>;
7935
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
7936
+ readonly type: "string";
7937
+ readonly minLength: 3;
7938
+ readonly maxLength: 320;
7939
+ }, {
7940
+ readonly required: false;
7941
+ }>;
7701
7942
  };
7702
7943
  readonly policies: {
7703
7944
  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>;
@@ -7742,7 +7983,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
7742
7983
  readonly kind: 'node';
7743
7984
  readonly abstract: false;
7744
7985
  readonly depth: 0;
7745
- readonly properties: "execution" | "expiresAt" | "round" | "status";
7986
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
7746
7987
  readonly methods: "accept" | "cancel" | "resend" | "send";
7747
7988
  }[];
7748
7989
  readonly outgoing: "0..1";
@@ -7922,6 +8163,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
7922
8163
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
7923
8164
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
7924
8165
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
8166
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
7925
8167
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
7926
8168
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
7927
8169
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -8296,6 +8538,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
8296
8538
  readonly mode: 'value';
8297
8539
  readonly value: Record<string, never>;
8298
8540
  }, "authorized", true, false, undefined, undefined>>;
8541
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
8542
+ members: string[];
8543
+ group: string;
8544
+ }, {
8545
+ readonly mode: 'value';
8546
+ readonly value: Record<string, never>;
8547
+ }, "authorized", true, false, undefined, undefined>>;
8548
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
8549
+ members: string[];
8550
+ group: string;
8551
+ }, {
8552
+ readonly mode: 'value';
8553
+ readonly value: Record<string, never>;
8554
+ }, "authorized", true, false, undefined, undefined>>;
8299
8555
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
8300
8556
  directory: string;
8301
8557
  externalId: string;
@@ -8339,7 +8595,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
8339
8595
  readonly abstract: false;
8340
8596
  readonly depth: 1;
8341
8597
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
8342
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
8598
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
8343
8599
  }[];
8344
8600
  readonly outgoing: "0..1";
8345
8601
  };
@@ -8397,6 +8653,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
8397
8653
  readonly description?: string;
8398
8654
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
8399
8655
  }>;
8656
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
8657
+ readonly type: "string";
8658
+ readonly minLength: 3;
8659
+ readonly maxLength: 320;
8660
+ }, {
8661
+ readonly required: false;
8662
+ }>;
8400
8663
  };
8401
8664
  readonly policies: {
8402
8665
  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>;
@@ -8441,7 +8704,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
8441
8704
  readonly kind: 'node';
8442
8705
  readonly abstract: false;
8443
8706
  readonly depth: 0;
8444
- readonly properties: "execution" | "expiresAt" | "round" | "status";
8707
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
8445
8708
  readonly methods: "accept" | "cancel" | "resend" | "send";
8446
8709
  }[];
8447
8710
  readonly outgoing: "0..1";
@@ -8621,6 +8884,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
8621
8884
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
8622
8885
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
8623
8886
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
8887
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
8624
8888
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
8625
8889
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
8626
8890
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -8670,7 +8934,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
8670
8934
  readonly message: 'The group changed concurrently; retry the operation.';
8671
8935
  readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
8672
8936
  };
8673
- }>, import("@astrale-os/sdk/workflow").WorkflowDefinition<import("@astrale-os/sdk/schema").AuthoredSchema<"shell.astrale.ai", readonly ["kernel.astrale.ai", import("@astrale-os/sdk/schema").KernelSchema] | readonly ["shell.astrale.ai", {
8937
+ }>, import("@astrale-os/sdk/action").ActionDefinition<import("@astrale-os/sdk/schema").AuthoredSchema<"shell.astrale.ai", readonly ["kernel.astrale.ai", import("@astrale-os/sdk/schema").KernelSchema] | readonly ["shell.astrale.ai", {
8674
8938
  readonly name: 'Shell';
8675
8939
  readonly entrypoint: 'application';
8676
8940
  readonly classes: {
@@ -8995,6 +9259,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
8995
9259
  readonly mode: 'value';
8996
9260
  readonly value: Record<string, never>;
8997
9261
  }, "authorized", true, false, undefined, undefined>>;
9262
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
9263
+ members: string[];
9264
+ group: string;
9265
+ }, {
9266
+ readonly mode: 'value';
9267
+ readonly value: Record<string, never>;
9268
+ }, "authorized", true, false, undefined, undefined>>;
9269
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
9270
+ members: string[];
9271
+ group: string;
9272
+ }, {
9273
+ readonly mode: 'value';
9274
+ readonly value: Record<string, never>;
9275
+ }, "authorized", true, false, undefined, undefined>>;
8998
9276
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
8999
9277
  directory: string;
9000
9278
  externalId: string;
@@ -9038,7 +9316,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
9038
9316
  readonly abstract: false;
9039
9317
  readonly depth: 1;
9040
9318
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
9041
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
9319
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
9042
9320
  }[];
9043
9321
  readonly outgoing: "0..1";
9044
9322
  };
@@ -9096,6 +9374,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
9096
9374
  readonly description?: string;
9097
9375
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
9098
9376
  }>;
9377
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
9378
+ readonly type: "string";
9379
+ readonly minLength: 3;
9380
+ readonly maxLength: 320;
9381
+ }, {
9382
+ readonly required: false;
9383
+ }>;
9099
9384
  };
9100
9385
  readonly policies: {
9101
9386
  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>;
@@ -9140,7 +9425,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
9140
9425
  readonly kind: 'node';
9141
9426
  readonly abstract: false;
9142
9427
  readonly depth: 0;
9143
- readonly properties: "execution" | "expiresAt" | "round" | "status";
9428
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
9144
9429
  readonly methods: "accept" | "cancel" | "resend" | "send";
9145
9430
  }[];
9146
9431
  readonly outgoing: "0..1";
@@ -9320,6 +9605,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
9320
9605
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
9321
9606
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
9322
9607
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
9608
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
9323
9609
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
9324
9610
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
9325
9611
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -9376,7 +9662,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
9376
9662
  };
9377
9663
  readonly INVALID_GROUP_MEMBERSHIP_REFERENCE: {
9378
9664
  readonly family: 'VALIDATION_ERROR';
9379
- readonly message: 'Member and group must be exact canonical @NodeId paths.';
9665
+ readonly message: 'Members and group must be exact canonical @NodeId paths of accounts or groups.';
9380
9666
  readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
9381
9667
  };
9382
9668
  readonly GROUP_MEMBERSHIP_CONFLICT: {
@@ -9394,7 +9680,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
9394
9680
  outcomeKnown: import("zod").ZodLiteral<false>;
9395
9681
  }, import("zod/v4/core").$strict>;
9396
9682
  };
9397
- }>, import("@astrale-os/sdk/workflow").WorkflowDefinition<import("@astrale-os/sdk/schema").AuthoredSchema<"shell.astrale.ai", readonly ["kernel.astrale.ai", import("@astrale-os/sdk/schema").KernelSchema] | readonly ["shell.astrale.ai", {
9683
+ }>, import("@astrale-os/sdk/action").ActionDefinition<import("@astrale-os/sdk/schema").AuthoredSchema<"shell.astrale.ai", readonly ["kernel.astrale.ai", import("@astrale-os/sdk/schema").KernelSchema] | readonly ["shell.astrale.ai", {
9398
9684
  readonly name: 'Shell';
9399
9685
  readonly entrypoint: 'application';
9400
9686
  readonly classes: {
@@ -9719,6 +10005,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
9719
10005
  readonly mode: 'value';
9720
10006
  readonly value: Record<string, never>;
9721
10007
  }, "authorized", true, false, undefined, undefined>>;
10008
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
10009
+ members: string[];
10010
+ group: string;
10011
+ }, {
10012
+ readonly mode: 'value';
10013
+ readonly value: Record<string, never>;
10014
+ }, "authorized", true, false, undefined, undefined>>;
10015
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
10016
+ members: string[];
10017
+ group: string;
10018
+ }, {
10019
+ readonly mode: 'value';
10020
+ readonly value: Record<string, never>;
10021
+ }, "authorized", true, false, undefined, undefined>>;
9722
10022
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
9723
10023
  directory: string;
9724
10024
  externalId: string;
@@ -9762,7 +10062,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
9762
10062
  readonly abstract: false;
9763
10063
  readonly depth: 1;
9764
10064
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
9765
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
10065
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
9766
10066
  }[];
9767
10067
  readonly outgoing: "0..1";
9768
10068
  };
@@ -9820,6 +10120,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
9820
10120
  readonly description?: string;
9821
10121
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
9822
10122
  }>;
10123
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
10124
+ readonly type: "string";
10125
+ readonly minLength: 3;
10126
+ readonly maxLength: 320;
10127
+ }, {
10128
+ readonly required: false;
10129
+ }>;
9823
10130
  };
9824
10131
  readonly policies: {
9825
10132
  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>;
@@ -9864,7 +10171,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
9864
10171
  readonly kind: 'node';
9865
10172
  readonly abstract: false;
9866
10173
  readonly depth: 0;
9867
- readonly properties: "execution" | "expiresAt" | "round" | "status";
10174
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
9868
10175
  readonly methods: "accept" | "cancel" | "resend" | "send";
9869
10176
  }[];
9870
10177
  readonly outgoing: "0..1";
@@ -10044,6 +10351,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
10044
10351
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
10045
10352
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
10046
10353
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
10354
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
10047
10355
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
10048
10356
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
10049
10357
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -10100,7 +10408,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
10100
10408
  };
10101
10409
  readonly INVALID_GROUP_MEMBERSHIP_REFERENCE: {
10102
10410
  readonly family: 'VALIDATION_ERROR';
10103
- readonly message: 'Member and group must be exact canonical @NodeId paths.';
10411
+ readonly message: 'Members and group must be exact canonical @NodeId paths of accounts or groups.';
10104
10412
  readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
10105
10413
  };
10106
10414
  readonly GROUP_MEMBERSHIP_CONFLICT: {
@@ -10443,6 +10751,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
10443
10751
  readonly mode: 'value';
10444
10752
  readonly value: Record<string, never>;
10445
10753
  }, "authorized", true, false, undefined, undefined>>;
10754
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
10755
+ members: string[];
10756
+ group: string;
10757
+ }, {
10758
+ readonly mode: 'value';
10759
+ readonly value: Record<string, never>;
10760
+ }, "authorized", true, false, undefined, undefined>>;
10761
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
10762
+ members: string[];
10763
+ group: string;
10764
+ }, {
10765
+ readonly mode: 'value';
10766
+ readonly value: Record<string, never>;
10767
+ }, "authorized", true, false, undefined, undefined>>;
10446
10768
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
10447
10769
  directory: string;
10448
10770
  externalId: string;
@@ -10486,7 +10808,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
10486
10808
  readonly abstract: false;
10487
10809
  readonly depth: 1;
10488
10810
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
10489
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
10811
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
10490
10812
  }[];
10491
10813
  readonly outgoing: "0..1";
10492
10814
  };
@@ -10544,10 +10866,1509 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
10544
10866
  readonly description?: string;
10545
10867
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
10546
10868
  }>;
10547
- };
10548
- readonly policies: {
10549
- 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>;
10550
- readonly traverse: true;
10869
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
10870
+ readonly type: "string";
10871
+ readonly minLength: 3;
10872
+ readonly maxLength: 320;
10873
+ }, {
10874
+ readonly required: false;
10875
+ }>;
10876
+ };
10877
+ readonly policies: {
10878
+ 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>;
10879
+ readonly traverse: true;
10880
+ };
10881
+ readonly methods: {
10882
+ readonly send: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
10883
+ user: string;
10884
+ }, {
10885
+ readonly mode: 'value';
10886
+ readonly value: {
10887
+ status: "accepted" | "cancelled" | "expired" | "pending";
10888
+ };
10889
+ }, "authorized", true, false, {
10890
+ readonly durable: true;
10891
+ }, undefined>>;
10892
+ readonly resend: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
10893
+ readonly mode: 'value';
10894
+ readonly value: Record<string, never>;
10895
+ }, "authorized", false, false, undefined, undefined>>;
10896
+ readonly cancel: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
10897
+ readonly mode: 'value';
10898
+ readonly value: Record<string, never>;
10899
+ }, "authorized", false, false, undefined, undefined>>;
10900
+ readonly accept: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
10901
+ iss: string;
10902
+ sub: string;
10903
+ }, {
10904
+ readonly mode: 'value';
10905
+ readonly value: Record<string, never>;
10906
+ }, "authorized", false, false, undefined, undefined>>;
10907
+ };
10908
+ }>;
10909
+ readonly invitation_user: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
10910
+ readonly depth: 0;
10911
+ readonly abstract: false;
10912
+ readonly extends: readonly [];
10913
+ readonly properties: never;
10914
+ readonly source: {
10915
+ readonly as: "invitation";
10916
+ readonly accepts: readonly {
10917
+ readonly kind: 'node';
10918
+ readonly abstract: false;
10919
+ readonly depth: 0;
10920
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
10921
+ readonly methods: "accept" | "cancel" | "resend" | "send";
10922
+ }[];
10923
+ readonly outgoing: "0..1";
10924
+ };
10925
+ readonly target: {
10926
+ readonly as: "user";
10927
+ readonly accepts: readonly {
10928
+ readonly kind: 'node';
10929
+ readonly abstract: false;
10930
+ readonly depth: 1;
10931
+ readonly properties: "attributes" | "claimedEmail" | "claimedName" | "creationKey" | "directory" | "directoryActive" | "email" | "externalId" | "familyName" | "frozen" | "givenName" | "icon" | "iss" | "name" | "sub" | "suspended";
10932
+ readonly methods: "create" | "deactivate" | "delete" | "deprovision" | "invite" | "provision" | "reactivate" | "recordProfile" | "update" | "updateProfile";
10933
+ }[];
10934
+ readonly incoming: "0..*";
10935
+ };
10936
+ readonly constraints: Record<never, never>;
10937
+ readonly effectiveProperties: never;
10938
+ }>;
10939
+ readonly Role: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
10940
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
10941
+ readonly inheritance: "final";
10942
+ readonly abstract: false;
10943
+ readonly description: "A Role the Shell declares.";
10944
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Role">];
10945
+ readonly policies: {
10946
+ 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>;
10947
+ readonly traverse: true;
10948
+ };
10949
+ }>;
10950
+ readonly Namespace: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
10951
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
10952
+ readonly policies: {
10953
+ readonly read: true;
10954
+ readonly traverse: true;
10955
+ };
10956
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
10957
+ readonly methods: {
10958
+ readonly link: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
10959
+ name: string;
10960
+ target: string;
10961
+ }, {
10962
+ readonly mode: 'value';
10963
+ readonly value: Record<string, never>;
10964
+ }, "authorized", false, false, undefined, undefined>>;
10965
+ readonly unlink: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
10966
+ name: string;
10967
+ }, {
10968
+ readonly mode: 'value';
10969
+ readonly value: Record<string, never>;
10970
+ }, "authorized", false, false, undefined, undefined>>;
10971
+ readonly rename: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
10972
+ name: string;
10973
+ to: string;
10974
+ }, {
10975
+ readonly mode: 'value';
10976
+ readonly value: Record<string, never>;
10977
+ }, "authorized", false, false, undefined, undefined>>;
10978
+ };
10979
+ }>;
10980
+ readonly alias: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
10981
+ readonly depth: 0;
10982
+ readonly abstract: false;
10983
+ readonly extends: readonly [];
10984
+ readonly properties: never;
10985
+ readonly source: {
10986
+ readonly as: "namespace";
10987
+ readonly accepts: readonly (() => {
10988
+ readonly kind: 'node';
10989
+ readonly abstract: never;
10990
+ readonly depth: never;
10991
+ readonly properties: never;
10992
+ readonly methods: never;
10993
+ })[];
10994
+ readonly outgoing: "0..*";
10995
+ };
10996
+ readonly target: {
10997
+ readonly as: "node";
10998
+ readonly accepts: readonly (import("@astrale-os/sdk/schema").ClassRef<"Node"> & {
10999
+ readonly origin: "kernel.astrale.ai";
11000
+ })[];
11001
+ readonly incoming: "0..*";
11002
+ };
11003
+ readonly constraints: Record<never, never>;
11004
+ readonly effectiveProperties: never;
11005
+ }>;
11006
+ readonly view_access: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
11007
+ readonly depth: 0;
11008
+ readonly abstract: false;
11009
+ readonly extends: readonly [];
11010
+ readonly properties: never;
11011
+ readonly source: {
11012
+ readonly as: "audience";
11013
+ readonly accepts: readonly (import("@astrale-os/sdk/schema").ClassRef<"Identity"> & {
11014
+ readonly origin: "kernel.astrale.ai";
11015
+ })[];
11016
+ readonly outgoing: "0..*";
11017
+ };
11018
+ readonly target: {
11019
+ readonly as: "view";
11020
+ readonly accepts: readonly (import("@astrale-os/sdk/schema").ClassRef<"View"> & {
11021
+ readonly origin: "kernel.astrale.ai";
11022
+ })[];
11023
+ readonly incoming: "0..*";
11024
+ };
11025
+ readonly constraints: Record<never, never>;
11026
+ readonly effectiveProperties: never;
11027
+ }>;
11028
+ };
11029
+ readonly functions: {
11030
+ readonly listEntrypoints: import("@astrale-os/sdk/schema").Function<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
11031
+ readonly mode: 'value';
11032
+ readonly value: {
11033
+ entrypoints: {
11034
+ origin: string;
11035
+ name: string;
11036
+ view: string;
11037
+ }[];
11038
+ };
11039
+ }, "authorized", false, false, undefined, undefined>>;
11040
+ readonly assignViews: import("@astrale-os/sdk/schema").Function<import("@astrale-os/sdk/schema").CallableProjection<{
11041
+ assignments: {
11042
+ identity: string;
11043
+ set?: string[] | undefined;
11044
+ unset?: string[] | undefined;
11045
+ }[];
11046
+ }, {
11047
+ readonly mode: 'value';
11048
+ readonly value: Record<string, never>;
11049
+ }, "authorized", false, false, undefined, undefined>>;
11050
+ readonly legacyMigrateAccounts: import("@astrale-os/sdk/schema").Function<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
11051
+ readonly mode: 'value';
11052
+ readonly value: {
11053
+ migrated: number;
11054
+ conflicts: {
11055
+ user: string;
11056
+ email: string;
11057
+ }[];
11058
+ profiles: number;
11059
+ };
11060
+ }, "authorized", false, false, undefined, undefined>>;
11061
+ readonly disconnectDirectory: import("@astrale-os/sdk/schema").Function<import("@astrale-os/sdk/schema").CallableProjection<{
11062
+ directory: string;
11063
+ }, {
11064
+ readonly mode: 'value';
11065
+ readonly value: {
11066
+ users: number;
11067
+ groups: number;
11068
+ };
11069
+ }, "authorized", false, false, undefined, undefined>>;
11070
+ };
11071
+ readonly policies: {
11072
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
11073
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
11074
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
11075
+ readonly usesFunction: import("@astrale-os/sdk/schema").Policy;
11076
+ readonly isSelf: import("@astrale-os/sdk/schema").Policy;
11077
+ readonly legacyOwnsMembershipGroup: import("@astrale-os/sdk/schema").Policy;
11078
+ readonly hasRole: import("@astrale-os/sdk/schema").Policy;
11079
+ readonly holdsViewAccess: import("@astrale-os/sdk/schema").Policy;
11080
+ readonly describesSubject: import("@astrale-os/sdk/schema").Policy;
11081
+ readonly isProfileSource: import("@astrale-os/sdk/schema").Policy;
11082
+ readonly describesGroupOfSubject: import("@astrale-os/sdk/schema").Policy;
11083
+ readonly isGroupProfileSource: import("@astrale-os/sdk/schema").Policy;
11084
+ };
11085
+ readonly views: {
11086
+ readonly application: import("@astrale-os/sdk/schema").View;
11087
+ };
11088
+ readonly core: {
11089
+ readonly nodes: {
11090
+ readonly 'workspace.member': import("@astrale-os/sdk/schema").CoreNode;
11091
+ readonly 'workspace.admin': import("@astrale-os/sdk/schema").CoreNode;
11092
+ readonly 'user.reader': import("@astrale-os/sdk/schema").CoreNode;
11093
+ readonly 'user.writer': import("@astrale-os/sdk/schema").CoreNode;
11094
+ readonly 'group.reader': import("@astrale-os/sdk/schema").CoreNode;
11095
+ readonly 'group.writer': import("@astrale-os/sdk/schema").CoreNode;
11096
+ readonly 'directory.provisioner': import("@astrale-os/sdk/schema").CoreNode;
11097
+ readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
11098
+ readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
11099
+ readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
11100
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
11101
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
11102
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
11103
+ readonly applications: import("@astrale-os/sdk/schema").CoreNode;
11104
+ readonly 'view-only': import("@astrale-os/sdk/schema").CoreNode;
11105
+ readonly views: import("@astrale-os/sdk/schema").CoreNode;
11106
+ };
11107
+ };
11108
+ }, {
11109
+ readonly kernel: "kernel.astrale.ai";
11110
+ }]>, "Group.assignMembers", Readonly<Record<never, never>>, {
11111
+ readonly GROUP_NOT_FOUND: {
11112
+ readonly family: 'NOT_FOUND';
11113
+ readonly message: 'No group is at this path.';
11114
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11115
+ };
11116
+ readonly GROUP_ATTRIBUTES_TOO_MANY: {
11117
+ readonly family: 'VALIDATION_ERROR';
11118
+ readonly message: 'A group carries at most 64 attributes.';
11119
+ readonly details: import("zod").ZodObject<{
11120
+ max: import("zod").ZodNumber;
11121
+ }, import("zod/v4/core").$strict>;
11122
+ };
11123
+ readonly GROUP_DIRECTORY_MANAGED: {
11124
+ readonly family: 'CONFLICT';
11125
+ readonly message: "This group is managed by your organization's directory. Change it in the directory.";
11126
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11127
+ };
11128
+ readonly GROUP_NOT_DIRECTORY_MANAGED: {
11129
+ readonly family: 'CONFLICT';
11130
+ readonly message: 'This group is local: only group.writer changes its members.';
11131
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11132
+ };
11133
+ readonly GROUP_ROLE_PROTECTED: {
11134
+ readonly family: 'CONFLICT';
11135
+ readonly message: 'This group grants a role. Only an administrator may change its members.';
11136
+ readonly details: import("zod").ZodObject<{
11137
+ role: import("zod").ZodString;
11138
+ }, import("zod/v4/core").$strict>;
11139
+ };
11140
+ readonly GROUP_MEMBERSHIP_CYCLE: {
11141
+ readonly family: 'CONFLICT';
11142
+ readonly message: 'This member already holds the group: the membership would close a cycle.';
11143
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11144
+ };
11145
+ readonly GROUP_CHANGED: {
11146
+ readonly family: 'CONFLICT';
11147
+ readonly message: 'The group changed concurrently; retry the operation.';
11148
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11149
+ };
11150
+ readonly GROUP_MEMBERSHIP_ENDPOINTS_UNAVAILABLE: {
11151
+ readonly family: 'CONFLICT';
11152
+ readonly message: 'Shell must be able to traverse both membership endpoints before confirming membership.';
11153
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11154
+ };
11155
+ readonly INVALID_GROUP_MEMBERSHIP_REFERENCE: {
11156
+ readonly family: 'VALIDATION_ERROR';
11157
+ readonly message: 'Members and group must be exact canonical @NodeId paths of accounts or groups.';
11158
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11159
+ };
11160
+ readonly GROUP_MEMBERSHIP_CONFLICT: {
11161
+ readonly family: 'CONFLICT';
11162
+ readonly message: 'Membership changed concurrently; retry the operation.';
11163
+ readonly details: import("zod").ZodObject<{
11164
+ cause: import("zod").ZodString;
11165
+ }, import("zod/v4/core").$strict>;
11166
+ };
11167
+ readonly GROUP_MEMBERSHIP_UNCONFIRMED: {
11168
+ readonly family: 'CONFLICT';
11169
+ readonly message: 'The requested membership could not be confirmed; retry the operation.';
11170
+ readonly details: import("zod").ZodObject<{
11171
+ cause: import("zod").ZodString;
11172
+ outcomeKnown: import("zod").ZodLiteral<false>;
11173
+ }, import("zod/v4/core").$strict>;
11174
+ };
11175
+ }>, import("@astrale-os/sdk/action").ActionDefinition<import("@astrale-os/sdk/schema").AuthoredSchema<"shell.astrale.ai", readonly ["kernel.astrale.ai", import("@astrale-os/sdk/schema").KernelSchema] | readonly ["shell.astrale.ai", {
11176
+ readonly name: 'Shell';
11177
+ readonly entrypoint: 'application';
11178
+ readonly classes: {
11179
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
11180
+ readonly depth: 0;
11181
+ readonly abstract: false;
11182
+ readonly extends: readonly [];
11183
+ readonly properties: never;
11184
+ readonly source: {
11185
+ readonly as: "member";
11186
+ readonly accepts: readonly (() => {
11187
+ readonly kind: 'node';
11188
+ readonly abstract: never;
11189
+ readonly depth: never;
11190
+ readonly properties: never;
11191
+ readonly methods: never;
11192
+ })[];
11193
+ readonly outgoing: "0..*";
11194
+ };
11195
+ readonly target: {
11196
+ readonly as: "group";
11197
+ readonly accepts: readonly (() => {
11198
+ readonly kind: 'node';
11199
+ readonly abstract: never;
11200
+ readonly depth: never;
11201
+ readonly properties: never;
11202
+ readonly methods: never;
11203
+ })[];
11204
+ readonly incoming: "0..*";
11205
+ };
11206
+ readonly constraints: Record<never, never>;
11207
+ readonly effectiveProperties: never;
11208
+ }>;
11209
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
11210
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
11211
+ readonly inheritance: "open";
11212
+ readonly abstract: false;
11213
+ readonly description: "The account of one person in the workspace.";
11214
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Iconable">];
11215
+ readonly properties: {
11216
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
11217
+ readonly claimedEmail: import("zod").ZodOptional<import("zod").ZodString>;
11218
+ readonly claimedName: import("zod").ZodOptional<import("zod").ZodString>;
11219
+ readonly suspended: import("zod").ZodOptional<import("zod").ZodBoolean>;
11220
+ readonly directoryActive: import("zod").ZodOptional<import("zod").ZodBoolean>;
11221
+ readonly name: import("@astrale-os/sdk/schema").AuthoredProperty<{
11222
+ readonly type: "string";
11223
+ readonly minLength: 1;
11224
+ readonly maxLength: 100;
11225
+ }, {
11226
+ readonly required: false;
11227
+ }>;
11228
+ readonly email: import("@astrale-os/sdk/schema").AuthoredProperty<{
11229
+ readonly type: "string";
11230
+ readonly minLength: 3;
11231
+ readonly maxLength: 320;
11232
+ }, {
11233
+ readonly required: false;
11234
+ }>;
11235
+ readonly givenName: import("@astrale-os/sdk/schema").AuthoredProperty<{
11236
+ readonly type: 'string';
11237
+ readonly minLength: 1;
11238
+ readonly maxLength: number;
11239
+ }, {
11240
+ readonly required: false;
11241
+ }>;
11242
+ readonly familyName: import("@astrale-os/sdk/schema").AuthoredProperty<{
11243
+ readonly type: 'string';
11244
+ readonly minLength: 1;
11245
+ readonly maxLength: number;
11246
+ }, {
11247
+ readonly required: false;
11248
+ }>;
11249
+ readonly directory: import("@astrale-os/sdk/schema").AuthoredProperty<{
11250
+ readonly type: 'string';
11251
+ readonly minLength: 1;
11252
+ readonly maxLength: number;
11253
+ }, {
11254
+ readonly required: false;
11255
+ }>;
11256
+ readonly externalId: import("@astrale-os/sdk/schema").AuthoredProperty<{
11257
+ readonly type: 'string';
11258
+ readonly minLength: 1;
11259
+ readonly maxLength: number;
11260
+ }, {
11261
+ readonly required: false;
11262
+ }>;
11263
+ readonly attributes: import("@astrale-os/sdk/schema").AuthoredProperty<{
11264
+ readonly type: "object";
11265
+ readonly additionalProperties: true;
11266
+ readonly maxProperties: 64;
11267
+ }, {
11268
+ readonly required: false;
11269
+ }>;
11270
+ };
11271
+ readonly policies: {
11272
+ readonly read: true;
11273
+ readonly traverse: true;
11274
+ };
11275
+ readonly methods: {
11276
+ readonly create: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11277
+ email: string;
11278
+ name: string;
11279
+ givenName?: string | undefined;
11280
+ familyName?: string | undefined;
11281
+ attributes?: Record<string, unknown> | undefined;
11282
+ }, {
11283
+ readonly mode: 'value';
11284
+ readonly value: {
11285
+ user: string;
11286
+ created: boolean;
11287
+ };
11288
+ }, "authorized", true, false, undefined, undefined>>;
11289
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11290
+ email?: string | undefined;
11291
+ user: string;
11292
+ profile?: "admin" | "member" | undefined;
11293
+ }, {
11294
+ readonly mode: 'value';
11295
+ readonly value: {
11296
+ invitationId: string;
11297
+ user: string;
11298
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
11299
+ };
11300
+ }, "authorized", true, false, undefined, undefined>>;
11301
+ readonly update: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11302
+ name?: string | undefined;
11303
+ email?: string | undefined;
11304
+ givenName?: string | null | undefined;
11305
+ familyName?: string | null | undefined;
11306
+ icon?: string | null | undefined;
11307
+ attributes?: Record<string, unknown> | null | undefined;
11308
+ }, {
11309
+ readonly mode: 'value';
11310
+ readonly value: Record<string, never>;
11311
+ }, "authorized", false, false, undefined, undefined>>;
11312
+ readonly updateProfile: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11313
+ name?: string | undefined;
11314
+ icon?: string | null | undefined;
11315
+ }, {
11316
+ readonly mode: 'value';
11317
+ readonly value: Record<string, never>;
11318
+ }, "authorized", false, false, undefined, undefined>>;
11319
+ readonly deactivate: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
11320
+ readonly mode: 'value';
11321
+ readonly value: Record<string, never>;
11322
+ }, "authorized", false, false, undefined, undefined>>;
11323
+ readonly reactivate: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
11324
+ readonly mode: 'value';
11325
+ readonly value: Record<string, never>;
11326
+ }, "authorized", false, false, undefined, undefined>>;
11327
+ readonly delete: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
11328
+ readonly mode: 'value';
11329
+ readonly value: Record<string, never>;
11330
+ }, "authorized", false, false, undefined, undefined>>;
11331
+ readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11332
+ directory: string;
11333
+ externalId: string;
11334
+ email: string;
11335
+ name: string;
11336
+ givenName?: string | undefined;
11337
+ familyName?: string | undefined;
11338
+ active: boolean;
11339
+ }, {
11340
+ readonly mode: 'value';
11341
+ readonly value: {
11342
+ user: string;
11343
+ created: boolean;
11344
+ adopted: boolean;
11345
+ };
11346
+ }, "authorized", true, false, undefined, undefined>>;
11347
+ readonly deprovision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11348
+ directory: string;
11349
+ externalId: string;
11350
+ }, {
11351
+ readonly mode: 'value';
11352
+ readonly value: Record<string, never>;
11353
+ }, "authorized", true, false, undefined, undefined>>;
11354
+ readonly recordProfile: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11355
+ email?: string | undefined;
11356
+ displayName?: string | undefined;
11357
+ }, {
11358
+ readonly mode: 'value';
11359
+ readonly value: Record<string, never>;
11360
+ }, "authorized", false, false, undefined, undefined>>;
11361
+ };
11362
+ }>;
11363
+ readonly UserProfile: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
11364
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
11365
+ readonly inheritance: "final";
11366
+ readonly abstract: false;
11367
+ readonly description: "What others see of a person: name and email.";
11368
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Named">];
11369
+ readonly properties: {
11370
+ givenName: import("@astrale-os/sdk/schema").AuthoredProperty<{
11371
+ readonly type: 'string';
11372
+ readonly minLength: 1;
11373
+ readonly maxLength: number;
11374
+ }, {
11375
+ readonly required: false;
11376
+ }>;
11377
+ familyName: import("@astrale-os/sdk/schema").AuthoredProperty<{
11378
+ readonly type: 'string';
11379
+ readonly minLength: 1;
11380
+ readonly maxLength: number;
11381
+ }, {
11382
+ readonly required: false;
11383
+ }>;
11384
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
11385
+ readonly type: "string";
11386
+ readonly minLength: 3;
11387
+ readonly maxLength: 100;
11388
+ }, {
11389
+ readonly required: false;
11390
+ }>;
11391
+ };
11392
+ readonly unique: readonly [readonly ["email"]];
11393
+ readonly policies: {
11394
+ 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>;
11395
+ readonly traverse: true;
11396
+ };
11397
+ }>;
11398
+ readonly user_profile: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
11399
+ readonly depth: 0;
11400
+ readonly abstract: false;
11401
+ readonly extends: readonly [];
11402
+ readonly properties: never;
11403
+ readonly source: {
11404
+ readonly as: "user";
11405
+ readonly accepts: readonly {
11406
+ readonly kind: 'node';
11407
+ readonly abstract: false;
11408
+ readonly depth: 1;
11409
+ readonly properties: "attributes" | "claimedEmail" | "claimedName" | "creationKey" | "directory" | "directoryActive" | "email" | "externalId" | "familyName" | "frozen" | "givenName" | "icon" | "iss" | "name" | "sub" | "suspended";
11410
+ readonly methods: "create" | "deactivate" | "delete" | "deprovision" | "invite" | "provision" | "reactivate" | "recordProfile" | "update" | "updateProfile";
11411
+ }[];
11412
+ readonly outgoing: "0..1";
11413
+ };
11414
+ readonly target: {
11415
+ readonly as: "profile";
11416
+ readonly accepts: readonly {
11417
+ readonly kind: 'node';
11418
+ readonly abstract: false;
11419
+ readonly depth: 1;
11420
+ readonly properties: "email" | "familyName" | "givenName" | "name";
11421
+ readonly methods: never;
11422
+ }[];
11423
+ readonly incoming: "0..1";
11424
+ };
11425
+ readonly constraints: Record<never, never>;
11426
+ readonly effectiveProperties: never;
11427
+ }>;
11428
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
11429
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
11430
+ readonly inheritance: "open";
11431
+ readonly abstract: false;
11432
+ readonly description: "A set of accounts and groups; its members hold what it holds.";
11433
+ 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">];
11434
+ readonly properties: {
11435
+ directory: import("@astrale-os/sdk/schema").AuthoredProperty<{
11436
+ readonly type: 'string';
11437
+ readonly minLength: 1;
11438
+ readonly maxLength: 200;
11439
+ }, {
11440
+ readonly required: false;
11441
+ }>;
11442
+ externalId: import("@astrale-os/sdk/schema").AuthoredProperty<{
11443
+ readonly type: 'string';
11444
+ readonly minLength: 1;
11445
+ readonly maxLength: 200;
11446
+ }, {
11447
+ readonly required: false;
11448
+ }>;
11449
+ attributes: import("@astrale-os/sdk/schema").AuthoredProperty<{
11450
+ readonly type: "object";
11451
+ readonly additionalProperties: true;
11452
+ readonly maxProperties: 64;
11453
+ }, {
11454
+ readonly required: false;
11455
+ }>;
11456
+ };
11457
+ readonly policies: {
11458
+ readonly read: true;
11459
+ readonly traverse: true;
11460
+ };
11461
+ readonly methods: {
11462
+ readonly create: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11463
+ name: string;
11464
+ description?: string | undefined;
11465
+ icon?: string | null | undefined;
11466
+ attributes?: Record<string, unknown> | undefined;
11467
+ }, {
11468
+ readonly mode: 'value';
11469
+ readonly value: {
11470
+ group: string;
11471
+ };
11472
+ }, "authorized", true, false, undefined, undefined>>;
11473
+ readonly update: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11474
+ name?: string | undefined;
11475
+ description?: string | null | undefined;
11476
+ icon?: string | null | undefined;
11477
+ attributes?: Record<string, unknown> | null | undefined;
11478
+ }, {
11479
+ readonly mode: 'value';
11480
+ readonly value: Record<string, never>;
11481
+ }, "authorized", false, false, undefined, undefined>>;
11482
+ readonly delete: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
11483
+ readonly mode: 'value';
11484
+ readonly value: Record<string, never>;
11485
+ }, "authorized", false, false, undefined, undefined>>;
11486
+ readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11487
+ member: string;
11488
+ group: string;
11489
+ }, {
11490
+ readonly mode: 'value';
11491
+ readonly value: Record<string, never>;
11492
+ }, "authorized", true, false, undefined, undefined>>;
11493
+ readonly unassignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11494
+ member: string;
11495
+ group: string;
11496
+ }, {
11497
+ readonly mode: 'value';
11498
+ readonly value: Record<string, never>;
11499
+ }, "authorized", true, false, undefined, undefined>>;
11500
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11501
+ members: string[];
11502
+ group: string;
11503
+ }, {
11504
+ readonly mode: 'value';
11505
+ readonly value: Record<string, never>;
11506
+ }, "authorized", true, false, undefined, undefined>>;
11507
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11508
+ members: string[];
11509
+ group: string;
11510
+ }, {
11511
+ readonly mode: 'value';
11512
+ readonly value: Record<string, never>;
11513
+ }, "authorized", true, false, undefined, undefined>>;
11514
+ readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11515
+ directory: string;
11516
+ externalId: string;
11517
+ name: string;
11518
+ }, {
11519
+ readonly mode: 'value';
11520
+ readonly value: {
11521
+ group: string;
11522
+ created: boolean;
11523
+ };
11524
+ }, "authorized", true, false, undefined, undefined>>;
11525
+ readonly deprovision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11526
+ directory: string;
11527
+ externalId: string;
11528
+ }, {
11529
+ readonly mode: 'value';
11530
+ readonly value: Record<string, never>;
11531
+ }, "authorized", true, false, undefined, undefined>>;
11532
+ };
11533
+ }>;
11534
+ readonly GroupProfile: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
11535
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
11536
+ readonly inheritance: "final";
11537
+ readonly abstract: false;
11538
+ readonly description: "What others see of a group: name and description.";
11539
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
11540
+ readonly policies: {
11541
+ 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>;
11542
+ readonly traverse: true;
11543
+ };
11544
+ }>;
11545
+ readonly group_profile: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
11546
+ readonly depth: 0;
11547
+ readonly abstract: false;
11548
+ readonly extends: readonly [];
11549
+ readonly properties: never;
11550
+ readonly source: {
11551
+ readonly as: "group";
11552
+ readonly accepts: readonly {
11553
+ readonly kind: 'node';
11554
+ readonly abstract: false;
11555
+ readonly depth: 1;
11556
+ readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
11557
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
11558
+ }[];
11559
+ readonly outgoing: "0..1";
11560
+ };
11561
+ readonly target: {
11562
+ readonly as: "profile";
11563
+ readonly accepts: readonly {
11564
+ readonly kind: 'node';
11565
+ readonly abstract: false;
11566
+ readonly depth: 1;
11567
+ readonly properties: "description" | "name";
11568
+ readonly methods: never;
11569
+ }[];
11570
+ readonly incoming: "0..1";
11571
+ };
11572
+ readonly constraints: Record<never, never>;
11573
+ readonly effectiveProperties: never;
11574
+ }>;
11575
+ readonly Invitation: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
11576
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
11577
+ readonly inheritance: "final";
11578
+ readonly abstract: false;
11579
+ readonly description: "One invitation of an account, until it is accepted, cancelled or expired.";
11580
+ readonly properties: {
11581
+ status: import("@astrale-os/sdk/schema").AuthoredProperty<{
11582
+ readonly type: "string";
11583
+ readonly enum: readonly ["pending", "accepted", "cancelled", "expired"];
11584
+ }, {
11585
+ readonly required?: boolean;
11586
+ readonly description?: string;
11587
+ readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
11588
+ }>;
11589
+ expiresAt: import("@astrale-os/sdk/schema").AuthoredProperty<{
11590
+ readonly type: "string";
11591
+ readonly minLength: 20;
11592
+ readonly maxLength: 40;
11593
+ }, {
11594
+ readonly required?: boolean;
11595
+ readonly description?: string;
11596
+ readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
11597
+ }>;
11598
+ execution: import("@astrale-os/sdk/schema").AuthoredProperty<{
11599
+ readonly type: "string";
11600
+ readonly minLength: 1;
11601
+ readonly maxLength: 200;
11602
+ }, {
11603
+ readonly required?: boolean;
11604
+ readonly description?: string;
11605
+ readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
11606
+ }>;
11607
+ round: import("@astrale-os/sdk/schema").AuthoredProperty<{
11608
+ readonly type: "integer";
11609
+ readonly minimum: 0;
11610
+ }, {
11611
+ readonly required?: boolean;
11612
+ readonly description?: string;
11613
+ readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
11614
+ }>;
11615
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
11616
+ readonly type: "string";
11617
+ readonly minLength: 3;
11618
+ readonly maxLength: 320;
11619
+ }, {
11620
+ readonly required: false;
11621
+ }>;
11622
+ };
11623
+ readonly policies: {
11624
+ 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>;
11625
+ readonly traverse: true;
11626
+ };
11627
+ readonly methods: {
11628
+ readonly send: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11629
+ user: string;
11630
+ }, {
11631
+ readonly mode: 'value';
11632
+ readonly value: {
11633
+ status: "accepted" | "cancelled" | "expired" | "pending";
11634
+ };
11635
+ }, "authorized", true, false, {
11636
+ readonly durable: true;
11637
+ }, undefined>>;
11638
+ readonly resend: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
11639
+ readonly mode: 'value';
11640
+ readonly value: Record<string, never>;
11641
+ }, "authorized", false, false, undefined, undefined>>;
11642
+ readonly cancel: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
11643
+ readonly mode: 'value';
11644
+ readonly value: Record<string, never>;
11645
+ }, "authorized", false, false, undefined, undefined>>;
11646
+ readonly accept: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11647
+ iss: string;
11648
+ sub: string;
11649
+ }, {
11650
+ readonly mode: 'value';
11651
+ readonly value: Record<string, never>;
11652
+ }, "authorized", false, false, undefined, undefined>>;
11653
+ };
11654
+ }>;
11655
+ readonly invitation_user: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
11656
+ readonly depth: 0;
11657
+ readonly abstract: false;
11658
+ readonly extends: readonly [];
11659
+ readonly properties: never;
11660
+ readonly source: {
11661
+ readonly as: "invitation";
11662
+ readonly accepts: readonly {
11663
+ readonly kind: 'node';
11664
+ readonly abstract: false;
11665
+ readonly depth: 0;
11666
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
11667
+ readonly methods: "accept" | "cancel" | "resend" | "send";
11668
+ }[];
11669
+ readonly outgoing: "0..1";
11670
+ };
11671
+ readonly target: {
11672
+ readonly as: "user";
11673
+ readonly accepts: readonly {
11674
+ readonly kind: 'node';
11675
+ readonly abstract: false;
11676
+ readonly depth: 1;
11677
+ readonly properties: "attributes" | "claimedEmail" | "claimedName" | "creationKey" | "directory" | "directoryActive" | "email" | "externalId" | "familyName" | "frozen" | "givenName" | "icon" | "iss" | "name" | "sub" | "suspended";
11678
+ readonly methods: "create" | "deactivate" | "delete" | "deprovision" | "invite" | "provision" | "reactivate" | "recordProfile" | "update" | "updateProfile";
11679
+ }[];
11680
+ readonly incoming: "0..*";
11681
+ };
11682
+ readonly constraints: Record<never, never>;
11683
+ readonly effectiveProperties: never;
11684
+ }>;
11685
+ readonly Role: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
11686
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
11687
+ readonly inheritance: "final";
11688
+ readonly abstract: false;
11689
+ readonly description: "A Role the Shell declares.";
11690
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Role">];
11691
+ readonly policies: {
11692
+ 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>;
11693
+ readonly traverse: true;
11694
+ };
11695
+ }>;
11696
+ readonly Namespace: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
11697
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
11698
+ readonly policies: {
11699
+ readonly read: true;
11700
+ readonly traverse: true;
11701
+ };
11702
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
11703
+ readonly methods: {
11704
+ readonly link: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11705
+ name: string;
11706
+ target: string;
11707
+ }, {
11708
+ readonly mode: 'value';
11709
+ readonly value: Record<string, never>;
11710
+ }, "authorized", false, false, undefined, undefined>>;
11711
+ readonly unlink: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11712
+ name: string;
11713
+ }, {
11714
+ readonly mode: 'value';
11715
+ readonly value: Record<string, never>;
11716
+ }, "authorized", false, false, undefined, undefined>>;
11717
+ readonly rename: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11718
+ name: string;
11719
+ to: string;
11720
+ }, {
11721
+ readonly mode: 'value';
11722
+ readonly value: Record<string, never>;
11723
+ }, "authorized", false, false, undefined, undefined>>;
11724
+ };
11725
+ }>;
11726
+ readonly alias: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
11727
+ readonly depth: 0;
11728
+ readonly abstract: false;
11729
+ readonly extends: readonly [];
11730
+ readonly properties: never;
11731
+ readonly source: {
11732
+ readonly as: "namespace";
11733
+ readonly accepts: readonly (() => {
11734
+ readonly kind: 'node';
11735
+ readonly abstract: never;
11736
+ readonly depth: never;
11737
+ readonly properties: never;
11738
+ readonly methods: never;
11739
+ })[];
11740
+ readonly outgoing: "0..*";
11741
+ };
11742
+ readonly target: {
11743
+ readonly as: "node";
11744
+ readonly accepts: readonly (import("@astrale-os/sdk/schema").ClassRef<"Node"> & {
11745
+ readonly origin: "kernel.astrale.ai";
11746
+ })[];
11747
+ readonly incoming: "0..*";
11748
+ };
11749
+ readonly constraints: Record<never, never>;
11750
+ readonly effectiveProperties: never;
11751
+ }>;
11752
+ readonly view_access: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
11753
+ readonly depth: 0;
11754
+ readonly abstract: false;
11755
+ readonly extends: readonly [];
11756
+ readonly properties: never;
11757
+ readonly source: {
11758
+ readonly as: "audience";
11759
+ readonly accepts: readonly (import("@astrale-os/sdk/schema").ClassRef<"Identity"> & {
11760
+ readonly origin: "kernel.astrale.ai";
11761
+ })[];
11762
+ readonly outgoing: "0..*";
11763
+ };
11764
+ readonly target: {
11765
+ readonly as: "view";
11766
+ readonly accepts: readonly (import("@astrale-os/sdk/schema").ClassRef<"View"> & {
11767
+ readonly origin: "kernel.astrale.ai";
11768
+ })[];
11769
+ readonly incoming: "0..*";
11770
+ };
11771
+ readonly constraints: Record<never, never>;
11772
+ readonly effectiveProperties: never;
11773
+ }>;
11774
+ };
11775
+ readonly functions: {
11776
+ readonly listEntrypoints: import("@astrale-os/sdk/schema").Function<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
11777
+ readonly mode: 'value';
11778
+ readonly value: {
11779
+ entrypoints: {
11780
+ origin: string;
11781
+ name: string;
11782
+ view: string;
11783
+ }[];
11784
+ };
11785
+ }, "authorized", false, false, undefined, undefined>>;
11786
+ readonly assignViews: import("@astrale-os/sdk/schema").Function<import("@astrale-os/sdk/schema").CallableProjection<{
11787
+ assignments: {
11788
+ identity: string;
11789
+ set?: string[] | undefined;
11790
+ unset?: string[] | undefined;
11791
+ }[];
11792
+ }, {
11793
+ readonly mode: 'value';
11794
+ readonly value: Record<string, never>;
11795
+ }, "authorized", false, false, undefined, undefined>>;
11796
+ readonly legacyMigrateAccounts: import("@astrale-os/sdk/schema").Function<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
11797
+ readonly mode: 'value';
11798
+ readonly value: {
11799
+ migrated: number;
11800
+ conflicts: {
11801
+ user: string;
11802
+ email: string;
11803
+ }[];
11804
+ profiles: number;
11805
+ };
11806
+ }, "authorized", false, false, undefined, undefined>>;
11807
+ readonly disconnectDirectory: import("@astrale-os/sdk/schema").Function<import("@astrale-os/sdk/schema").CallableProjection<{
11808
+ directory: string;
11809
+ }, {
11810
+ readonly mode: 'value';
11811
+ readonly value: {
11812
+ users: number;
11813
+ groups: number;
11814
+ };
11815
+ }, "authorized", false, false, undefined, undefined>>;
11816
+ };
11817
+ readonly policies: {
11818
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
11819
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
11820
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
11821
+ readonly usesFunction: import("@astrale-os/sdk/schema").Policy;
11822
+ readonly isSelf: import("@astrale-os/sdk/schema").Policy;
11823
+ readonly legacyOwnsMembershipGroup: import("@astrale-os/sdk/schema").Policy;
11824
+ readonly hasRole: import("@astrale-os/sdk/schema").Policy;
11825
+ readonly holdsViewAccess: import("@astrale-os/sdk/schema").Policy;
11826
+ readonly describesSubject: import("@astrale-os/sdk/schema").Policy;
11827
+ readonly isProfileSource: import("@astrale-os/sdk/schema").Policy;
11828
+ readonly describesGroupOfSubject: import("@astrale-os/sdk/schema").Policy;
11829
+ readonly isGroupProfileSource: import("@astrale-os/sdk/schema").Policy;
11830
+ };
11831
+ readonly views: {
11832
+ readonly application: import("@astrale-os/sdk/schema").View;
11833
+ };
11834
+ readonly core: {
11835
+ readonly nodes: {
11836
+ readonly 'workspace.member': import("@astrale-os/sdk/schema").CoreNode;
11837
+ readonly 'workspace.admin': import("@astrale-os/sdk/schema").CoreNode;
11838
+ readonly 'user.reader': import("@astrale-os/sdk/schema").CoreNode;
11839
+ readonly 'user.writer': import("@astrale-os/sdk/schema").CoreNode;
11840
+ readonly 'group.reader': import("@astrale-os/sdk/schema").CoreNode;
11841
+ readonly 'group.writer': import("@astrale-os/sdk/schema").CoreNode;
11842
+ readonly 'directory.provisioner': import("@astrale-os/sdk/schema").CoreNode;
11843
+ readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
11844
+ readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
11845
+ readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
11846
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
11847
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
11848
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
11849
+ readonly applications: import("@astrale-os/sdk/schema").CoreNode;
11850
+ readonly 'view-only': import("@astrale-os/sdk/schema").CoreNode;
11851
+ readonly views: import("@astrale-os/sdk/schema").CoreNode;
11852
+ };
11853
+ };
11854
+ }, {
11855
+ readonly kernel: "kernel.astrale.ai";
11856
+ }]>, "Group.unassignMembers", Readonly<Record<never, never>>, {
11857
+ readonly GROUP_NOT_FOUND: {
11858
+ readonly family: 'NOT_FOUND';
11859
+ readonly message: 'No group is at this path.';
11860
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11861
+ };
11862
+ readonly GROUP_ATTRIBUTES_TOO_MANY: {
11863
+ readonly family: 'VALIDATION_ERROR';
11864
+ readonly message: 'A group carries at most 64 attributes.';
11865
+ readonly details: import("zod").ZodObject<{
11866
+ max: import("zod").ZodNumber;
11867
+ }, import("zod/v4/core").$strict>;
11868
+ };
11869
+ readonly GROUP_DIRECTORY_MANAGED: {
11870
+ readonly family: 'CONFLICT';
11871
+ readonly message: "This group is managed by your organization's directory. Change it in the directory.";
11872
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11873
+ };
11874
+ readonly GROUP_NOT_DIRECTORY_MANAGED: {
11875
+ readonly family: 'CONFLICT';
11876
+ readonly message: 'This group is local: only group.writer changes its members.';
11877
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11878
+ };
11879
+ readonly GROUP_ROLE_PROTECTED: {
11880
+ readonly family: 'CONFLICT';
11881
+ readonly message: 'This group grants a role. Only an administrator may change its members.';
11882
+ readonly details: import("zod").ZodObject<{
11883
+ role: import("zod").ZodString;
11884
+ }, import("zod/v4/core").$strict>;
11885
+ };
11886
+ readonly GROUP_MEMBERSHIP_CYCLE: {
11887
+ readonly family: 'CONFLICT';
11888
+ readonly message: 'This member already holds the group: the membership would close a cycle.';
11889
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11890
+ };
11891
+ readonly GROUP_CHANGED: {
11892
+ readonly family: 'CONFLICT';
11893
+ readonly message: 'The group changed concurrently; retry the operation.';
11894
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11895
+ };
11896
+ readonly GROUP_MEMBERSHIP_ENDPOINTS_UNAVAILABLE: {
11897
+ readonly family: 'CONFLICT';
11898
+ readonly message: 'Shell must be able to traverse both membership endpoints before confirming membership.';
11899
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11900
+ };
11901
+ readonly INVALID_GROUP_MEMBERSHIP_REFERENCE: {
11902
+ readonly family: 'VALIDATION_ERROR';
11903
+ readonly message: 'Members and group must be exact canonical @NodeId paths of accounts or groups.';
11904
+ readonly details: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
11905
+ };
11906
+ readonly GROUP_MEMBERSHIP_CONFLICT: {
11907
+ readonly family: 'CONFLICT';
11908
+ readonly message: 'Membership changed concurrently; retry the operation.';
11909
+ readonly details: import("zod").ZodObject<{
11910
+ cause: import("zod").ZodString;
11911
+ }, import("zod/v4/core").$strict>;
11912
+ };
11913
+ readonly GROUP_MEMBERSHIP_UNCONFIRMED: {
11914
+ readonly family: 'CONFLICT';
11915
+ readonly message: 'The requested membership could not be confirmed; retry the operation.';
11916
+ readonly details: import("zod").ZodObject<{
11917
+ cause: import("zod").ZodString;
11918
+ outcomeKnown: import("zod").ZodLiteral<false>;
11919
+ }, import("zod/v4/core").$strict>;
11920
+ };
11921
+ }>, import("@astrale-os/sdk/action").ActionDefinition<import("@astrale-os/sdk/schema").AuthoredSchema<"shell.astrale.ai", readonly ["kernel.astrale.ai", import("@astrale-os/sdk/schema").KernelSchema] | readonly ["shell.astrale.ai", {
11922
+ readonly name: 'Shell';
11923
+ readonly entrypoint: 'application';
11924
+ readonly classes: {
11925
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
11926
+ readonly depth: 0;
11927
+ readonly abstract: false;
11928
+ readonly extends: readonly [];
11929
+ readonly properties: never;
11930
+ readonly source: {
11931
+ readonly as: "member";
11932
+ readonly accepts: readonly (() => {
11933
+ readonly kind: 'node';
11934
+ readonly abstract: never;
11935
+ readonly depth: never;
11936
+ readonly properties: never;
11937
+ readonly methods: never;
11938
+ })[];
11939
+ readonly outgoing: "0..*";
11940
+ };
11941
+ readonly target: {
11942
+ readonly as: "group";
11943
+ readonly accepts: readonly (() => {
11944
+ readonly kind: 'node';
11945
+ readonly abstract: never;
11946
+ readonly depth: never;
11947
+ readonly properties: never;
11948
+ readonly methods: never;
11949
+ })[];
11950
+ readonly incoming: "0..*";
11951
+ };
11952
+ readonly constraints: Record<never, never>;
11953
+ readonly effectiveProperties: never;
11954
+ }>;
11955
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
11956
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
11957
+ readonly inheritance: "open";
11958
+ readonly abstract: false;
11959
+ readonly description: "The account of one person in the workspace.";
11960
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Iconable">];
11961
+ readonly properties: {
11962
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
11963
+ readonly claimedEmail: import("zod").ZodOptional<import("zod").ZodString>;
11964
+ readonly claimedName: import("zod").ZodOptional<import("zod").ZodString>;
11965
+ readonly suspended: import("zod").ZodOptional<import("zod").ZodBoolean>;
11966
+ readonly directoryActive: import("zod").ZodOptional<import("zod").ZodBoolean>;
11967
+ readonly name: import("@astrale-os/sdk/schema").AuthoredProperty<{
11968
+ readonly type: "string";
11969
+ readonly minLength: 1;
11970
+ readonly maxLength: 100;
11971
+ }, {
11972
+ readonly required: false;
11973
+ }>;
11974
+ readonly email: import("@astrale-os/sdk/schema").AuthoredProperty<{
11975
+ readonly type: "string";
11976
+ readonly minLength: 3;
11977
+ readonly maxLength: 320;
11978
+ }, {
11979
+ readonly required: false;
11980
+ }>;
11981
+ readonly givenName: import("@astrale-os/sdk/schema").AuthoredProperty<{
11982
+ readonly type: 'string';
11983
+ readonly minLength: 1;
11984
+ readonly maxLength: number;
11985
+ }, {
11986
+ readonly required: false;
11987
+ }>;
11988
+ readonly familyName: import("@astrale-os/sdk/schema").AuthoredProperty<{
11989
+ readonly type: 'string';
11990
+ readonly minLength: 1;
11991
+ readonly maxLength: number;
11992
+ }, {
11993
+ readonly required: false;
11994
+ }>;
11995
+ readonly directory: import("@astrale-os/sdk/schema").AuthoredProperty<{
11996
+ readonly type: 'string';
11997
+ readonly minLength: 1;
11998
+ readonly maxLength: number;
11999
+ }, {
12000
+ readonly required: false;
12001
+ }>;
12002
+ readonly externalId: import("@astrale-os/sdk/schema").AuthoredProperty<{
12003
+ readonly type: 'string';
12004
+ readonly minLength: 1;
12005
+ readonly maxLength: number;
12006
+ }, {
12007
+ readonly required: false;
12008
+ }>;
12009
+ readonly attributes: import("@astrale-os/sdk/schema").AuthoredProperty<{
12010
+ readonly type: "object";
12011
+ readonly additionalProperties: true;
12012
+ readonly maxProperties: 64;
12013
+ }, {
12014
+ readonly required: false;
12015
+ }>;
12016
+ };
12017
+ readonly policies: {
12018
+ readonly read: true;
12019
+ readonly traverse: true;
12020
+ };
12021
+ readonly methods: {
12022
+ readonly create: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12023
+ email: string;
12024
+ name: string;
12025
+ givenName?: string | undefined;
12026
+ familyName?: string | undefined;
12027
+ attributes?: Record<string, unknown> | undefined;
12028
+ }, {
12029
+ readonly mode: 'value';
12030
+ readonly value: {
12031
+ user: string;
12032
+ created: boolean;
12033
+ };
12034
+ }, "authorized", true, false, undefined, undefined>>;
12035
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12036
+ email?: string | undefined;
12037
+ user: string;
12038
+ profile?: "admin" | "member" | undefined;
12039
+ }, {
12040
+ readonly mode: 'value';
12041
+ readonly value: {
12042
+ invitationId: string;
12043
+ user: string;
12044
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
12045
+ };
12046
+ }, "authorized", true, false, undefined, undefined>>;
12047
+ readonly update: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12048
+ name?: string | undefined;
12049
+ email?: string | undefined;
12050
+ givenName?: string | null | undefined;
12051
+ familyName?: string | null | undefined;
12052
+ icon?: string | null | undefined;
12053
+ attributes?: Record<string, unknown> | null | undefined;
12054
+ }, {
12055
+ readonly mode: 'value';
12056
+ readonly value: Record<string, never>;
12057
+ }, "authorized", false, false, undefined, undefined>>;
12058
+ readonly updateProfile: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12059
+ name?: string | undefined;
12060
+ icon?: string | null | undefined;
12061
+ }, {
12062
+ readonly mode: 'value';
12063
+ readonly value: Record<string, never>;
12064
+ }, "authorized", false, false, undefined, undefined>>;
12065
+ readonly deactivate: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
12066
+ readonly mode: 'value';
12067
+ readonly value: Record<string, never>;
12068
+ }, "authorized", false, false, undefined, undefined>>;
12069
+ readonly reactivate: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
12070
+ readonly mode: 'value';
12071
+ readonly value: Record<string, never>;
12072
+ }, "authorized", false, false, undefined, undefined>>;
12073
+ readonly delete: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
12074
+ readonly mode: 'value';
12075
+ readonly value: Record<string, never>;
12076
+ }, "authorized", false, false, undefined, undefined>>;
12077
+ readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12078
+ directory: string;
12079
+ externalId: string;
12080
+ email: string;
12081
+ name: string;
12082
+ givenName?: string | undefined;
12083
+ familyName?: string | undefined;
12084
+ active: boolean;
12085
+ }, {
12086
+ readonly mode: 'value';
12087
+ readonly value: {
12088
+ user: string;
12089
+ created: boolean;
12090
+ adopted: boolean;
12091
+ };
12092
+ }, "authorized", true, false, undefined, undefined>>;
12093
+ readonly deprovision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12094
+ directory: string;
12095
+ externalId: string;
12096
+ }, {
12097
+ readonly mode: 'value';
12098
+ readonly value: Record<string, never>;
12099
+ }, "authorized", true, false, undefined, undefined>>;
12100
+ readonly recordProfile: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12101
+ email?: string | undefined;
12102
+ displayName?: string | undefined;
12103
+ }, {
12104
+ readonly mode: 'value';
12105
+ readonly value: Record<string, never>;
12106
+ }, "authorized", false, false, undefined, undefined>>;
12107
+ };
12108
+ }>;
12109
+ readonly UserProfile: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
12110
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
12111
+ readonly inheritance: "final";
12112
+ readonly abstract: false;
12113
+ readonly description: "What others see of a person: name and email.";
12114
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Named">];
12115
+ readonly properties: {
12116
+ givenName: import("@astrale-os/sdk/schema").AuthoredProperty<{
12117
+ readonly type: 'string';
12118
+ readonly minLength: 1;
12119
+ readonly maxLength: number;
12120
+ }, {
12121
+ readonly required: false;
12122
+ }>;
12123
+ familyName: import("@astrale-os/sdk/schema").AuthoredProperty<{
12124
+ readonly type: 'string';
12125
+ readonly minLength: 1;
12126
+ readonly maxLength: number;
12127
+ }, {
12128
+ readonly required: false;
12129
+ }>;
12130
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
12131
+ readonly type: "string";
12132
+ readonly minLength: 3;
12133
+ readonly maxLength: 100;
12134
+ }, {
12135
+ readonly required: false;
12136
+ }>;
12137
+ };
12138
+ readonly unique: readonly [readonly ["email"]];
12139
+ readonly policies: {
12140
+ 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>;
12141
+ readonly traverse: true;
12142
+ };
12143
+ }>;
12144
+ readonly user_profile: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
12145
+ readonly depth: 0;
12146
+ readonly abstract: false;
12147
+ readonly extends: readonly [];
12148
+ readonly properties: never;
12149
+ readonly source: {
12150
+ readonly as: "user";
12151
+ readonly accepts: readonly {
12152
+ readonly kind: 'node';
12153
+ readonly abstract: false;
12154
+ readonly depth: 1;
12155
+ readonly properties: "attributes" | "claimedEmail" | "claimedName" | "creationKey" | "directory" | "directoryActive" | "email" | "externalId" | "familyName" | "frozen" | "givenName" | "icon" | "iss" | "name" | "sub" | "suspended";
12156
+ readonly methods: "create" | "deactivate" | "delete" | "deprovision" | "invite" | "provision" | "reactivate" | "recordProfile" | "update" | "updateProfile";
12157
+ }[];
12158
+ readonly outgoing: "0..1";
12159
+ };
12160
+ readonly target: {
12161
+ readonly as: "profile";
12162
+ readonly accepts: readonly {
12163
+ readonly kind: 'node';
12164
+ readonly abstract: false;
12165
+ readonly depth: 1;
12166
+ readonly properties: "email" | "familyName" | "givenName" | "name";
12167
+ readonly methods: never;
12168
+ }[];
12169
+ readonly incoming: "0..1";
12170
+ };
12171
+ readonly constraints: Record<never, never>;
12172
+ readonly effectiveProperties: never;
12173
+ }>;
12174
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
12175
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
12176
+ readonly inheritance: "open";
12177
+ readonly abstract: false;
12178
+ readonly description: "A set of accounts and groups; its members hold what it holds.";
12179
+ 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">];
12180
+ readonly properties: {
12181
+ directory: import("@astrale-os/sdk/schema").AuthoredProperty<{
12182
+ readonly type: 'string';
12183
+ readonly minLength: 1;
12184
+ readonly maxLength: 200;
12185
+ }, {
12186
+ readonly required: false;
12187
+ }>;
12188
+ externalId: import("@astrale-os/sdk/schema").AuthoredProperty<{
12189
+ readonly type: 'string';
12190
+ readonly minLength: 1;
12191
+ readonly maxLength: 200;
12192
+ }, {
12193
+ readonly required: false;
12194
+ }>;
12195
+ attributes: import("@astrale-os/sdk/schema").AuthoredProperty<{
12196
+ readonly type: "object";
12197
+ readonly additionalProperties: true;
12198
+ readonly maxProperties: 64;
12199
+ }, {
12200
+ readonly required: false;
12201
+ }>;
12202
+ };
12203
+ readonly policies: {
12204
+ readonly read: true;
12205
+ readonly traverse: true;
12206
+ };
12207
+ readonly methods: {
12208
+ readonly create: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12209
+ name: string;
12210
+ description?: string | undefined;
12211
+ icon?: string | null | undefined;
12212
+ attributes?: Record<string, unknown> | undefined;
12213
+ }, {
12214
+ readonly mode: 'value';
12215
+ readonly value: {
12216
+ group: string;
12217
+ };
12218
+ }, "authorized", true, false, undefined, undefined>>;
12219
+ readonly update: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12220
+ name?: string | undefined;
12221
+ description?: string | null | undefined;
12222
+ icon?: string | null | undefined;
12223
+ attributes?: Record<string, unknown> | null | undefined;
12224
+ }, {
12225
+ readonly mode: 'value';
12226
+ readonly value: Record<string, never>;
12227
+ }, "authorized", false, false, undefined, undefined>>;
12228
+ readonly delete: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
12229
+ readonly mode: 'value';
12230
+ readonly value: Record<string, never>;
12231
+ }, "authorized", false, false, undefined, undefined>>;
12232
+ readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12233
+ member: string;
12234
+ group: string;
12235
+ }, {
12236
+ readonly mode: 'value';
12237
+ readonly value: Record<string, never>;
12238
+ }, "authorized", true, false, undefined, undefined>>;
12239
+ readonly unassignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12240
+ member: string;
12241
+ group: string;
12242
+ }, {
12243
+ readonly mode: 'value';
12244
+ readonly value: Record<string, never>;
12245
+ }, "authorized", true, false, undefined, undefined>>;
12246
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12247
+ members: string[];
12248
+ group: string;
12249
+ }, {
12250
+ readonly mode: 'value';
12251
+ readonly value: Record<string, never>;
12252
+ }, "authorized", true, false, undefined, undefined>>;
12253
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12254
+ members: string[];
12255
+ group: string;
12256
+ }, {
12257
+ readonly mode: 'value';
12258
+ readonly value: Record<string, never>;
12259
+ }, "authorized", true, false, undefined, undefined>>;
12260
+ readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12261
+ directory: string;
12262
+ externalId: string;
12263
+ name: string;
12264
+ }, {
12265
+ readonly mode: 'value';
12266
+ readonly value: {
12267
+ group: string;
12268
+ created: boolean;
12269
+ };
12270
+ }, "authorized", true, false, undefined, undefined>>;
12271
+ readonly deprovision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12272
+ directory: string;
12273
+ externalId: string;
12274
+ }, {
12275
+ readonly mode: 'value';
12276
+ readonly value: Record<string, never>;
12277
+ }, "authorized", true, false, undefined, undefined>>;
12278
+ };
12279
+ }>;
12280
+ readonly GroupProfile: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
12281
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
12282
+ readonly inheritance: "final";
12283
+ readonly abstract: false;
12284
+ readonly description: "What others see of a group: name and description.";
12285
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
12286
+ readonly policies: {
12287
+ 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>;
12288
+ readonly traverse: true;
12289
+ };
12290
+ }>;
12291
+ readonly group_profile: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
12292
+ readonly depth: 0;
12293
+ readonly abstract: false;
12294
+ readonly extends: readonly [];
12295
+ readonly properties: never;
12296
+ readonly source: {
12297
+ readonly as: "group";
12298
+ readonly accepts: readonly {
12299
+ readonly kind: 'node';
12300
+ readonly abstract: false;
12301
+ readonly depth: 1;
12302
+ readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
12303
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
12304
+ }[];
12305
+ readonly outgoing: "0..1";
12306
+ };
12307
+ readonly target: {
12308
+ readonly as: "profile";
12309
+ readonly accepts: readonly {
12310
+ readonly kind: 'node';
12311
+ readonly abstract: false;
12312
+ readonly depth: 1;
12313
+ readonly properties: "description" | "name";
12314
+ readonly methods: never;
12315
+ }[];
12316
+ readonly incoming: "0..1";
12317
+ };
12318
+ readonly constraints: Record<never, never>;
12319
+ readonly effectiveProperties: never;
12320
+ }>;
12321
+ readonly Invitation: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
12322
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
12323
+ readonly inheritance: "final";
12324
+ readonly abstract: false;
12325
+ readonly description: "One invitation of an account, until it is accepted, cancelled or expired.";
12326
+ readonly properties: {
12327
+ status: import("@astrale-os/sdk/schema").AuthoredProperty<{
12328
+ readonly type: "string";
12329
+ readonly enum: readonly ["pending", "accepted", "cancelled", "expired"];
12330
+ }, {
12331
+ readonly required?: boolean;
12332
+ readonly description?: string;
12333
+ readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
12334
+ }>;
12335
+ expiresAt: import("@astrale-os/sdk/schema").AuthoredProperty<{
12336
+ readonly type: "string";
12337
+ readonly minLength: 20;
12338
+ readonly maxLength: 40;
12339
+ }, {
12340
+ readonly required?: boolean;
12341
+ readonly description?: string;
12342
+ readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
12343
+ }>;
12344
+ execution: import("@astrale-os/sdk/schema").AuthoredProperty<{
12345
+ readonly type: "string";
12346
+ readonly minLength: 1;
12347
+ readonly maxLength: 200;
12348
+ }, {
12349
+ readonly required?: boolean;
12350
+ readonly description?: string;
12351
+ readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
12352
+ }>;
12353
+ round: import("@astrale-os/sdk/schema").AuthoredProperty<{
12354
+ readonly type: "integer";
12355
+ readonly minimum: 0;
12356
+ }, {
12357
+ readonly required?: boolean;
12358
+ readonly description?: string;
12359
+ readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
12360
+ }>;
12361
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
12362
+ readonly type: "string";
12363
+ readonly minLength: 3;
12364
+ readonly maxLength: 320;
12365
+ }, {
12366
+ readonly required: false;
12367
+ }>;
12368
+ };
12369
+ readonly policies: {
12370
+ 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>;
12371
+ readonly traverse: true;
10551
12372
  };
10552
12373
  readonly methods: {
10553
12374
  readonly send: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
@@ -10588,7 +12409,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
10588
12409
  readonly kind: 'node';
10589
12410
  readonly abstract: false;
10590
12411
  readonly depth: 0;
10591
- readonly properties: "execution" | "expiresAt" | "round" | "status";
12412
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
10592
12413
  readonly methods: "accept" | "cancel" | "resend" | "send";
10593
12414
  }[];
10594
12415
  readonly outgoing: "0..1";
@@ -10768,6 +12589,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
10768
12589
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
10769
12590
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
10770
12591
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
12592
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
10771
12593
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
10772
12594
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
10773
12595
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -11142,6 +12964,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
11142
12964
  readonly mode: 'value';
11143
12965
  readonly value: Record<string, never>;
11144
12966
  }, "authorized", true, false, undefined, undefined>>;
12967
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12968
+ members: string[];
12969
+ group: string;
12970
+ }, {
12971
+ readonly mode: 'value';
12972
+ readonly value: Record<string, never>;
12973
+ }, "authorized", true, false, undefined, undefined>>;
12974
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12975
+ members: string[];
12976
+ group: string;
12977
+ }, {
12978
+ readonly mode: 'value';
12979
+ readonly value: Record<string, never>;
12980
+ }, "authorized", true, false, undefined, undefined>>;
11145
12981
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11146
12982
  directory: string;
11147
12983
  externalId: string;
@@ -11185,7 +13021,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
11185
13021
  readonly abstract: false;
11186
13022
  readonly depth: 1;
11187
13023
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
11188
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
13024
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
11189
13025
  }[];
11190
13026
  readonly outgoing: "0..1";
11191
13027
  };
@@ -11243,6 +13079,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
11243
13079
  readonly description?: string;
11244
13080
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
11245
13081
  }>;
13082
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
13083
+ readonly type: "string";
13084
+ readonly minLength: 3;
13085
+ readonly maxLength: 320;
13086
+ }, {
13087
+ readonly required: false;
13088
+ }>;
11246
13089
  };
11247
13090
  readonly policies: {
11248
13091
  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>;
@@ -11287,7 +13130,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
11287
13130
  readonly kind: 'node';
11288
13131
  readonly abstract: false;
11289
13132
  readonly depth: 0;
11290
- readonly properties: "execution" | "expiresAt" | "round" | "status";
13133
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
11291
13134
  readonly methods: "accept" | "cancel" | "resend" | "send";
11292
13135
  }[];
11293
13136
  readonly outgoing: "0..1";
@@ -11467,6 +13310,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
11467
13310
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
11468
13311
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
11469
13312
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
13313
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
11470
13314
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
11471
13315
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
11472
13316
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -11841,6 +13685,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
11841
13685
  readonly mode: 'value';
11842
13686
  readonly value: Record<string, never>;
11843
13687
  }, "authorized", true, false, undefined, undefined>>;
13688
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
13689
+ members: string[];
13690
+ group: string;
13691
+ }, {
13692
+ readonly mode: 'value';
13693
+ readonly value: Record<string, never>;
13694
+ }, "authorized", true, false, undefined, undefined>>;
13695
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
13696
+ members: string[];
13697
+ group: string;
13698
+ }, {
13699
+ readonly mode: 'value';
13700
+ readonly value: Record<string, never>;
13701
+ }, "authorized", true, false, undefined, undefined>>;
11844
13702
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11845
13703
  directory: string;
11846
13704
  externalId: string;
@@ -11884,7 +13742,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
11884
13742
  readonly abstract: false;
11885
13743
  readonly depth: 1;
11886
13744
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
11887
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
13745
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
11888
13746
  }[];
11889
13747
  readonly outgoing: "0..1";
11890
13748
  };
@@ -11942,6 +13800,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
11942
13800
  readonly description?: string;
11943
13801
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
11944
13802
  }>;
13803
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
13804
+ readonly type: "string";
13805
+ readonly minLength: 3;
13806
+ readonly maxLength: 320;
13807
+ }, {
13808
+ readonly required: false;
13809
+ }>;
11945
13810
  };
11946
13811
  readonly policies: {
11947
13812
  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>;
@@ -11986,7 +13851,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
11986
13851
  readonly kind: 'node';
11987
13852
  readonly abstract: false;
11988
13853
  readonly depth: 0;
11989
- readonly properties: "execution" | "expiresAt" | "round" | "status";
13854
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
11990
13855
  readonly methods: "accept" | "cancel" | "resend" | "send";
11991
13856
  }[];
11992
13857
  readonly outgoing: "0..1";
@@ -12166,6 +14031,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
12166
14031
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
12167
14032
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
12168
14033
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
14034
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
12169
14035
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
12170
14036
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
12171
14037
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -12567,6 +14433,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
12567
14433
  readonly mode: 'value';
12568
14434
  readonly value: Record<string, never>;
12569
14435
  }, "authorized", true, false, undefined, undefined>>;
14436
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
14437
+ members: string[];
14438
+ group: string;
14439
+ }, {
14440
+ readonly mode: 'value';
14441
+ readonly value: Record<string, never>;
14442
+ }, "authorized", true, false, undefined, undefined>>;
14443
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
14444
+ members: string[];
14445
+ group: string;
14446
+ }, {
14447
+ readonly mode: 'value';
14448
+ readonly value: Record<string, never>;
14449
+ }, "authorized", true, false, undefined, undefined>>;
12570
14450
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12571
14451
  directory: string;
12572
14452
  externalId: string;
@@ -12610,7 +14490,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
12610
14490
  readonly abstract: false;
12611
14491
  readonly depth: 1;
12612
14492
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
12613
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
14493
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
12614
14494
  }[];
12615
14495
  readonly outgoing: "0..1";
12616
14496
  };
@@ -12668,6 +14548,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
12668
14548
  readonly description?: string;
12669
14549
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
12670
14550
  }>;
14551
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
14552
+ readonly type: "string";
14553
+ readonly minLength: 3;
14554
+ readonly maxLength: 320;
14555
+ }, {
14556
+ readonly required: false;
14557
+ }>;
12671
14558
  };
12672
14559
  readonly policies: {
12673
14560
  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>;
@@ -12712,7 +14599,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
12712
14599
  readonly kind: 'node';
12713
14600
  readonly abstract: false;
12714
14601
  readonly depth: 0;
12715
- readonly properties: "execution" | "expiresAt" | "round" | "status";
14602
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
12716
14603
  readonly methods: "accept" | "cancel" | "resend" | "send";
12717
14604
  }[];
12718
14605
  readonly outgoing: "0..1";
@@ -12892,6 +14779,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
12892
14779
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
12893
14780
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
12894
14781
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
14782
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
12895
14783
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
12896
14784
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
12897
14785
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -13320,6 +15208,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
13320
15208
  readonly mode: 'value';
13321
15209
  readonly value: Record<string, never>;
13322
15210
  }, "authorized", true, false, undefined, undefined>>;
15211
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
15212
+ members: string[];
15213
+ group: string;
15214
+ }, {
15215
+ readonly mode: 'value';
15216
+ readonly value: Record<string, never>;
15217
+ }, "authorized", true, false, undefined, undefined>>;
15218
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
15219
+ members: string[];
15220
+ group: string;
15221
+ }, {
15222
+ readonly mode: 'value';
15223
+ readonly value: Record<string, never>;
15224
+ }, "authorized", true, false, undefined, undefined>>;
13323
15225
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
13324
15226
  directory: string;
13325
15227
  externalId: string;
@@ -13363,7 +15265,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
13363
15265
  readonly abstract: false;
13364
15266
  readonly depth: 1;
13365
15267
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
13366
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
15268
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
13367
15269
  }[];
13368
15270
  readonly outgoing: "0..1";
13369
15271
  };
@@ -13421,6 +15323,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
13421
15323
  readonly description?: string;
13422
15324
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
13423
15325
  }>;
15326
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
15327
+ readonly type: "string";
15328
+ readonly minLength: 3;
15329
+ readonly maxLength: 320;
15330
+ }, {
15331
+ readonly required: false;
15332
+ }>;
13424
15333
  };
13425
15334
  readonly policies: {
13426
15335
  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>;
@@ -13465,7 +15374,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
13465
15374
  readonly kind: 'node';
13466
15375
  readonly abstract: false;
13467
15376
  readonly depth: 0;
13468
- readonly properties: "execution" | "expiresAt" | "round" | "status";
15377
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
13469
15378
  readonly methods: "accept" | "cancel" | "resend" | "send";
13470
15379
  }[];
13471
15380
  readonly outgoing: "0..1";
@@ -13645,6 +15554,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
13645
15554
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
13646
15555
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
13647
15556
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
15557
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
13648
15558
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
13649
15559
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
13650
15560
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -13990,6 +15900,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
13990
15900
  readonly mode: 'value';
13991
15901
  readonly value: Record<string, never>;
13992
15902
  }, "authorized", true, false, undefined, undefined>>;
15903
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
15904
+ members: string[];
15905
+ group: string;
15906
+ }, {
15907
+ readonly mode: 'value';
15908
+ readonly value: Record<string, never>;
15909
+ }, "authorized", true, false, undefined, undefined>>;
15910
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
15911
+ members: string[];
15912
+ group: string;
15913
+ }, {
15914
+ readonly mode: 'value';
15915
+ readonly value: Record<string, never>;
15916
+ }, "authorized", true, false, undefined, undefined>>;
13993
15917
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
13994
15918
  directory: string;
13995
15919
  externalId: string;
@@ -14033,7 +15957,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
14033
15957
  readonly abstract: false;
14034
15958
  readonly depth: 1;
14035
15959
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
14036
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
15960
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
14037
15961
  }[];
14038
15962
  readonly outgoing: "0..1";
14039
15963
  };
@@ -14091,6 +16015,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
14091
16015
  readonly description?: string;
14092
16016
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
14093
16017
  }>;
16018
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
16019
+ readonly type: "string";
16020
+ readonly minLength: 3;
16021
+ readonly maxLength: 320;
16022
+ }, {
16023
+ readonly required: false;
16024
+ }>;
14094
16025
  };
14095
16026
  readonly policies: {
14096
16027
  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>;
@@ -14135,7 +16066,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
14135
16066
  readonly kind: 'node';
14136
16067
  readonly abstract: false;
14137
16068
  readonly depth: 0;
14138
- readonly properties: "execution" | "expiresAt" | "round" | "status";
16069
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
14139
16070
  readonly methods: "accept" | "cancel" | "resend" | "send";
14140
16071
  }[];
14141
16072
  readonly outgoing: "0..1";
@@ -14315,6 +16246,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
14315
16246
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
14316
16247
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
14317
16248
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
16249
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
14318
16250
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
14319
16251
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
14320
16252
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -14660,6 +16592,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
14660
16592
  readonly mode: 'value';
14661
16593
  readonly value: Record<string, never>;
14662
16594
  }, "authorized", true, false, undefined, undefined>>;
16595
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
16596
+ members: string[];
16597
+ group: string;
16598
+ }, {
16599
+ readonly mode: 'value';
16600
+ readonly value: Record<string, never>;
16601
+ }, "authorized", true, false, undefined, undefined>>;
16602
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
16603
+ members: string[];
16604
+ group: string;
16605
+ }, {
16606
+ readonly mode: 'value';
16607
+ readonly value: Record<string, never>;
16608
+ }, "authorized", true, false, undefined, undefined>>;
14663
16609
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
14664
16610
  directory: string;
14665
16611
  externalId: string;
@@ -14703,7 +16649,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
14703
16649
  readonly abstract: false;
14704
16650
  readonly depth: 1;
14705
16651
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
14706
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
16652
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
14707
16653
  }[];
14708
16654
  readonly outgoing: "0..1";
14709
16655
  };
@@ -14761,6 +16707,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
14761
16707
  readonly description?: string;
14762
16708
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
14763
16709
  }>;
16710
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
16711
+ readonly type: "string";
16712
+ readonly minLength: 3;
16713
+ readonly maxLength: 320;
16714
+ }, {
16715
+ readonly required: false;
16716
+ }>;
14764
16717
  };
14765
16718
  readonly policies: {
14766
16719
  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>;
@@ -14805,7 +16758,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
14805
16758
  readonly kind: 'node';
14806
16759
  readonly abstract: false;
14807
16760
  readonly depth: 0;
14808
- readonly properties: "execution" | "expiresAt" | "round" | "status";
16761
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
14809
16762
  readonly methods: "accept" | "cancel" | "resend" | "send";
14810
16763
  }[];
14811
16764
  readonly outgoing: "0..1";
@@ -14985,6 +16938,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
14985
16938
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
14986
16939
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
14987
16940
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
16941
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
14988
16942
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
14989
16943
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
14990
16944
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -15330,6 +17284,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
15330
17284
  readonly mode: 'value';
15331
17285
  readonly value: Record<string, never>;
15332
17286
  }, "authorized", true, false, undefined, undefined>>;
17287
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
17288
+ members: string[];
17289
+ group: string;
17290
+ }, {
17291
+ readonly mode: 'value';
17292
+ readonly value: Record<string, never>;
17293
+ }, "authorized", true, false, undefined, undefined>>;
17294
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
17295
+ members: string[];
17296
+ group: string;
17297
+ }, {
17298
+ readonly mode: 'value';
17299
+ readonly value: Record<string, never>;
17300
+ }, "authorized", true, false, undefined, undefined>>;
15333
17301
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
15334
17302
  directory: string;
15335
17303
  externalId: string;
@@ -15373,7 +17341,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
15373
17341
  readonly abstract: false;
15374
17342
  readonly depth: 1;
15375
17343
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
15376
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
17344
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
15377
17345
  }[];
15378
17346
  readonly outgoing: "0..1";
15379
17347
  };
@@ -15431,6 +17399,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
15431
17399
  readonly description?: string;
15432
17400
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
15433
17401
  }>;
17402
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
17403
+ readonly type: "string";
17404
+ readonly minLength: 3;
17405
+ readonly maxLength: 320;
17406
+ }, {
17407
+ readonly required: false;
17408
+ }>;
15434
17409
  };
15435
17410
  readonly policies: {
15436
17411
  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>;
@@ -15475,7 +17450,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
15475
17450
  readonly kind: 'node';
15476
17451
  readonly abstract: false;
15477
17452
  readonly depth: 0;
15478
- readonly properties: "execution" | "expiresAt" | "round" | "status";
17453
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
15479
17454
  readonly methods: "accept" | "cancel" | "resend" | "send";
15480
17455
  }[];
15481
17456
  readonly outgoing: "0..1";
@@ -15655,6 +17630,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
15655
17630
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
15656
17631
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
15657
17632
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
17633
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
15658
17634
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
15659
17635
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
15660
17636
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -16021,6 +17997,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
16021
17997
  readonly mode: 'value';
16022
17998
  readonly value: Record<string, never>;
16023
17999
  }, "authorized", true, false, undefined, undefined>>;
18000
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
18001
+ members: string[];
18002
+ group: string;
18003
+ }, {
18004
+ readonly mode: 'value';
18005
+ readonly value: Record<string, never>;
18006
+ }, "authorized", true, false, undefined, undefined>>;
18007
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
18008
+ members: string[];
18009
+ group: string;
18010
+ }, {
18011
+ readonly mode: 'value';
18012
+ readonly value: Record<string, never>;
18013
+ }, "authorized", true, false, undefined, undefined>>;
16024
18014
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
16025
18015
  directory: string;
16026
18016
  externalId: string;
@@ -16064,7 +18054,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
16064
18054
  readonly abstract: false;
16065
18055
  readonly depth: 1;
16066
18056
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
16067
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
18057
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
16068
18058
  }[];
16069
18059
  readonly outgoing: "0..1";
16070
18060
  };
@@ -16122,6 +18112,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
16122
18112
  readonly description?: string;
16123
18113
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
16124
18114
  }>;
18115
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
18116
+ readonly type: "string";
18117
+ readonly minLength: 3;
18118
+ readonly maxLength: 320;
18119
+ }, {
18120
+ readonly required: false;
18121
+ }>;
16125
18122
  };
16126
18123
  readonly policies: {
16127
18124
  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>;
@@ -16166,7 +18163,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
16166
18163
  readonly kind: 'node';
16167
18164
  readonly abstract: false;
16168
18165
  readonly depth: 0;
16169
- readonly properties: "execution" | "expiresAt" | "round" | "status";
18166
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
16170
18167
  readonly methods: "accept" | "cancel" | "resend" | "send";
16171
18168
  }[];
16172
18169
  readonly outgoing: "0..1";
@@ -16346,6 +18343,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
16346
18343
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
16347
18344
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
16348
18345
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
18346
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
16349
18347
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
16350
18348
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
16351
18349
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -16712,6 +18710,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
16712
18710
  readonly mode: 'value';
16713
18711
  readonly value: Record<string, never>;
16714
18712
  }, "authorized", true, false, undefined, undefined>>;
18713
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
18714
+ members: string[];
18715
+ group: string;
18716
+ }, {
18717
+ readonly mode: 'value';
18718
+ readonly value: Record<string, never>;
18719
+ }, "authorized", true, false, undefined, undefined>>;
18720
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
18721
+ members: string[];
18722
+ group: string;
18723
+ }, {
18724
+ readonly mode: 'value';
18725
+ readonly value: Record<string, never>;
18726
+ }, "authorized", true, false, undefined, undefined>>;
16715
18727
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
16716
18728
  directory: string;
16717
18729
  externalId: string;
@@ -16755,7 +18767,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
16755
18767
  readonly abstract: false;
16756
18768
  readonly depth: 1;
16757
18769
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
16758
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
18770
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
16759
18771
  }[];
16760
18772
  readonly outgoing: "0..1";
16761
18773
  };
@@ -16813,6 +18825,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
16813
18825
  readonly description?: string;
16814
18826
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
16815
18827
  }>;
18828
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
18829
+ readonly type: "string";
18830
+ readonly minLength: 3;
18831
+ readonly maxLength: 320;
18832
+ }, {
18833
+ readonly required: false;
18834
+ }>;
16816
18835
  };
16817
18836
  readonly policies: {
16818
18837
  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>;
@@ -16857,7 +18876,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
16857
18876
  readonly kind: 'node';
16858
18877
  readonly abstract: false;
16859
18878
  readonly depth: 0;
16860
- readonly properties: "execution" | "expiresAt" | "round" | "status";
18879
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
16861
18880
  readonly methods: "accept" | "cancel" | "resend" | "send";
16862
18881
  }[];
16863
18882
  readonly outgoing: "0..1";
@@ -17037,6 +19056,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
17037
19056
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
17038
19057
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
17039
19058
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
19059
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
17040
19060
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
17041
19061
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
17042
19062
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -17403,6 +19423,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
17403
19423
  readonly mode: 'value';
17404
19424
  readonly value: Record<string, never>;
17405
19425
  }, "authorized", true, false, undefined, undefined>>;
19426
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
19427
+ members: string[];
19428
+ group: string;
19429
+ }, {
19430
+ readonly mode: 'value';
19431
+ readonly value: Record<string, never>;
19432
+ }, "authorized", true, false, undefined, undefined>>;
19433
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
19434
+ members: string[];
19435
+ group: string;
19436
+ }, {
19437
+ readonly mode: 'value';
19438
+ readonly value: Record<string, never>;
19439
+ }, "authorized", true, false, undefined, undefined>>;
17406
19440
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
17407
19441
  directory: string;
17408
19442
  externalId: string;
@@ -17446,7 +19480,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
17446
19480
  readonly abstract: false;
17447
19481
  readonly depth: 1;
17448
19482
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
17449
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
19483
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
17450
19484
  }[];
17451
19485
  readonly outgoing: "0..1";
17452
19486
  };
@@ -17504,6 +19538,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
17504
19538
  readonly description?: string;
17505
19539
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
17506
19540
  }>;
19541
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
19542
+ readonly type: "string";
19543
+ readonly minLength: 3;
19544
+ readonly maxLength: 320;
19545
+ }, {
19546
+ readonly required: false;
19547
+ }>;
17507
19548
  };
17508
19549
  readonly policies: {
17509
19550
  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>;
@@ -17548,7 +19589,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
17548
19589
  readonly kind: 'node';
17549
19590
  readonly abstract: false;
17550
19591
  readonly depth: 0;
17551
- readonly properties: "execution" | "expiresAt" | "round" | "status";
19592
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
17552
19593
  readonly methods: "accept" | "cancel" | "resend" | "send";
17553
19594
  }[];
17554
19595
  readonly outgoing: "0..1";
@@ -17728,6 +19769,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
17728
19769
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
17729
19770
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
17730
19771
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
19772
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
17731
19773
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
17732
19774
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
17733
19775
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -18062,6 +20104,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
18062
20104
  readonly mode: 'value';
18063
20105
  readonly value: Record<string, never>;
18064
20106
  }, "authorized", true, false, undefined, undefined>>;
20107
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
20108
+ members: string[];
20109
+ group: string;
20110
+ }, {
20111
+ readonly mode: 'value';
20112
+ readonly value: Record<string, never>;
20113
+ }, "authorized", true, false, undefined, undefined>>;
20114
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
20115
+ members: string[];
20116
+ group: string;
20117
+ }, {
20118
+ readonly mode: 'value';
20119
+ readonly value: Record<string, never>;
20120
+ }, "authorized", true, false, undefined, undefined>>;
18065
20121
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
18066
20122
  directory: string;
18067
20123
  externalId: string;
@@ -18105,7 +20161,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
18105
20161
  readonly abstract: false;
18106
20162
  readonly depth: 1;
18107
20163
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
18108
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
20164
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
18109
20165
  }[];
18110
20166
  readonly outgoing: "0..1";
18111
20167
  };
@@ -18163,6 +20219,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
18163
20219
  readonly description?: string;
18164
20220
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
18165
20221
  }>;
20222
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
20223
+ readonly type: "string";
20224
+ readonly minLength: 3;
20225
+ readonly maxLength: 320;
20226
+ }, {
20227
+ readonly required: false;
20228
+ }>;
18166
20229
  };
18167
20230
  readonly policies: {
18168
20231
  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>;
@@ -18207,7 +20270,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
18207
20270
  readonly kind: 'node';
18208
20271
  readonly abstract: false;
18209
20272
  readonly depth: 0;
18210
- readonly properties: "execution" | "expiresAt" | "round" | "status";
20273
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
18211
20274
  readonly methods: "accept" | "cancel" | "resend" | "send";
18212
20275
  }[];
18213
20276
  readonly outgoing: "0..1";
@@ -18387,6 +20450,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
18387
20450
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
18388
20451
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
18389
20452
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
20453
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
18390
20454
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
18391
20455
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
18392
20456
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -18721,6 +20785,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
18721
20785
  readonly mode: 'value';
18722
20786
  readonly value: Record<string, never>;
18723
20787
  }, "authorized", true, false, undefined, undefined>>;
20788
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
20789
+ members: string[];
20790
+ group: string;
20791
+ }, {
20792
+ readonly mode: 'value';
20793
+ readonly value: Record<string, never>;
20794
+ }, "authorized", true, false, undefined, undefined>>;
20795
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
20796
+ members: string[];
20797
+ group: string;
20798
+ }, {
20799
+ readonly mode: 'value';
20800
+ readonly value: Record<string, never>;
20801
+ }, "authorized", true, false, undefined, undefined>>;
18724
20802
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
18725
20803
  directory: string;
18726
20804
  externalId: string;
@@ -18764,7 +20842,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
18764
20842
  readonly abstract: false;
18765
20843
  readonly depth: 1;
18766
20844
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
18767
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
20845
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
18768
20846
  }[];
18769
20847
  readonly outgoing: "0..1";
18770
20848
  };
@@ -18822,6 +20900,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
18822
20900
  readonly description?: string;
18823
20901
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
18824
20902
  }>;
20903
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
20904
+ readonly type: "string";
20905
+ readonly minLength: 3;
20906
+ readonly maxLength: 320;
20907
+ }, {
20908
+ readonly required: false;
20909
+ }>;
18825
20910
  };
18826
20911
  readonly policies: {
18827
20912
  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>;
@@ -18866,7 +20951,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
18866
20951
  readonly kind: 'node';
18867
20952
  readonly abstract: false;
18868
20953
  readonly depth: 0;
18869
- readonly properties: "execution" | "expiresAt" | "round" | "status";
20954
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
18870
20955
  readonly methods: "accept" | "cancel" | "resend" | "send";
18871
20956
  }[];
18872
20957
  readonly outgoing: "0..1";
@@ -19046,6 +21131,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
19046
21131
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
19047
21132
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
19048
21133
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
21134
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
19049
21135
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
19050
21136
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
19051
21137
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;
@@ -19409,6 +21495,20 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
19409
21495
  readonly mode: 'value';
19410
21496
  readonly value: Record<string, never>;
19411
21497
  }, "authorized", true, false, undefined, undefined>>;
21498
+ readonly assignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
21499
+ members: string[];
21500
+ group: string;
21501
+ }, {
21502
+ readonly mode: 'value';
21503
+ readonly value: Record<string, never>;
21504
+ }, "authorized", true, false, undefined, undefined>>;
21505
+ readonly unassignMembers: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
21506
+ members: string[];
21507
+ group: string;
21508
+ }, {
21509
+ readonly mode: 'value';
21510
+ readonly value: Record<string, never>;
21511
+ }, "authorized", true, false, undefined, undefined>>;
19412
21512
  readonly provision: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
19413
21513
  directory: string;
19414
21514
  externalId: string;
@@ -19452,7 +21552,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
19452
21552
  readonly abstract: false;
19453
21553
  readonly depth: 1;
19454
21554
  readonly properties: "attributes" | "description" | "directory" | "externalId" | "frozen" | "icon" | "iss" | "name" | "sub";
19455
- readonly methods: "assignMember" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "update";
21555
+ readonly methods: "assignMember" | "assignMembers" | "create" | "delete" | "deprovision" | "provision" | "unassignMember" | "unassignMembers" | "update";
19456
21556
  }[];
19457
21557
  readonly outgoing: "0..1";
19458
21558
  };
@@ -19510,6 +21610,13 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
19510
21610
  readonly description?: string;
19511
21611
  readonly immutable?: import("@astrale-os/sdk/schema").PropertyImmutability;
19512
21612
  }>;
21613
+ email: import("@astrale-os/sdk/schema").AuthoredProperty<{
21614
+ readonly type: "string";
21615
+ readonly minLength: 3;
21616
+ readonly maxLength: 320;
21617
+ }, {
21618
+ readonly required: false;
21619
+ }>;
19513
21620
  };
19514
21621
  readonly policies: {
19515
21622
  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>;
@@ -19554,7 +21661,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
19554
21661
  readonly kind: 'node';
19555
21662
  readonly abstract: false;
19556
21663
  readonly depth: 0;
19557
- readonly properties: "execution" | "expiresAt" | "round" | "status";
21664
+ readonly properties: "email" | "execution" | "expiresAt" | "round" | "status";
19558
21665
  readonly methods: "accept" | "cancel" | "resend" | "send";
19559
21666
  }[];
19560
21667
  readonly outgoing: "0..1";
@@ -19734,6 +21841,7 @@ declare const functions: readonly [import("@astrale-os/sdk/action").ActionDefini
19734
21841
  readonly 'user-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
19735
21842
  readonly 'user-profile.self-writer': import("@astrale-os/sdk/schema").CoreNode;
19736
21843
  readonly 'group-profile.reader': import("@astrale-os/sdk/schema").CoreNode;
21844
+ readonly 'os.viewer': import("@astrale-os/sdk/schema").CoreNode;
19737
21845
  readonly admin: import("@astrale-os/sdk/schema").CoreNode;
19738
21846
  readonly member: import("@astrale-os/sdk/schema").CoreNode;
19739
21847
  readonly applications: import("@astrale-os/sdk/schema").CoreNode;