@astrale-domains/shell 0.1.0-beta.26 → 0.1.0-beta.28

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 (50) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +29 -7
  3. package/dist/application.d.ts +11 -2240
  4. package/dist/application.js +2 -2
  5. package/dist/functions/group/assign-member-to-group.d.ts +102 -0
  6. package/dist/functions/group/{unassign-user-from-group.js → assign-member-to-group.js} +2 -2
  7. package/dist/functions/group/{change-user-group-membership.d.ts → change-group-membership.d.ts} +1 -1
  8. package/dist/functions/group/{change-user-group-membership.js → change-group-membership.js} +1 -1
  9. package/dist/functions/group/group-membership-errors.d.ts +1 -1
  10. package/dist/functions/group/group-membership-errors.js +1 -1
  11. package/dist/functions/group/index.d.ts +2 -2
  12. package/dist/functions/group/index.js +2 -2
  13. package/dist/functions/group/unassign-member-from-group.d.ts +102 -0
  14. package/dist/functions/group/unassign-member-from-group.js +4 -0
  15. package/dist/functions/user/invite-user.d.ts +11 -2240
  16. package/dist/mutations/group/index.d.ts +1 -1
  17. package/dist/mutations/group/index.js +1 -1
  18. package/dist/mutations/group/set-group-membership.d.ts +101 -0
  19. package/dist/mutations/group/{set-user-group-membership.js → set-group-membership.js} +1 -1
  20. package/dist/queries/group/index.d.ts +1 -1
  21. package/dist/queries/group/index.js +1 -1
  22. package/dist/queries/group/read-group-membership-endpoints.d.ts +12 -2241
  23. package/dist/queries/group/read-group-membership-endpoints.js +2 -2
  24. package/dist/queries/group/read-group-membership.d.ts +90 -0
  25. package/dist/queries/group/{read-user-group-membership.js → read-group-membership.js} +2 -2
  26. package/dist/runtime.d.ts +35 -6722
  27. package/dist/runtime.js +2 -2
  28. package/dist/schema/modules/group/classes/group.d.ts +5 -1237
  29. package/dist/schema/modules/group/classes/group.js +2 -2
  30. package/dist/schema/modules/group/classes/member-of-group.d.ts +1 -1
  31. package/dist/schema/modules/group/classes/member-of-group.js +5 -1
  32. package/dist/schema/modules/group/functions/{unassign-user-from-group.d.ts → assign-member-to-group.d.ts} +2 -2
  33. package/dist/schema/modules/group/functions/{assign-user-to-group.js → assign-member-to-group.js} +1 -1
  34. package/dist/schema/modules/group/functions/index.d.ts +2 -2
  35. package/dist/schema/modules/group/functions/index.js +2 -2
  36. package/dist/schema/modules/group/functions/unassign-member-from-group.d.ts +7 -0
  37. package/dist/schema/modules/group/functions/{unassign-user-from-group.js → unassign-member-from-group.js} +1 -1
  38. package/dist/schema/modules/group/types/{group-user-reference.d.ts → group-membership-input.d.ts} +1 -1
  39. package/dist/schema/modules/group/types/{group-user-reference.js → group-membership-input.js} +1 -1
  40. package/dist/schema/modules/group/types/index.d.ts +1 -1
  41. package/dist/schema/modules/group/types/index.js +1 -1
  42. package/dist/schema/modules/user/classes/user.d.ts +1 -997
  43. package/dist/schema/schema.d.ts +43 -8957
  44. package/package.json +3 -3
  45. package/dist/functions/group/assign-user-to-group.d.ts +0 -2331
  46. package/dist/functions/group/assign-user-to-group.js +0 -4
  47. package/dist/functions/group/unassign-user-from-group.d.ts +0 -2331
  48. package/dist/mutations/group/set-user-group-membership.d.ts +0 -2330
  49. package/dist/queries/group/read-user-group-membership.d.ts +0 -2319
  50. package/dist/schema/modules/group/functions/assign-user-to-group.d.ts +0 -7
@@ -4,14 +4,14 @@ export const readGroupMembershipEndpoints = defineQuery()(() => ({
4
4
  id: 'shell.group.membership.endpoints',
5
5
  page: { size: 2 },
6
6
  pagination: { maximumPages: 2 },
7
- build: ({ user, group }) => Query.from({ nodes: [Path.id(user), Path.id(group)] }).select({
7
+ build: ({ member, group }) => Query.from({ nodes: [Path.id(member), Path.id(group)] }).select({
8
8
  kind: 'nodes',
9
9
  projection: { kind: 'reference' },
10
10
  }),
11
11
  project(pages, input, { ast, complete }) {
12
12
  const ids = queryResult.completeNodeIds(pages, 'Shell membership endpoints');
13
13
  return {
14
- visible: ids.includes(input.user) && ids.includes(input.group),
14
+ visible: ids.includes(input.member) && ids.includes(input.group),
15
15
  guard: { query: ast, equals: complete },
16
16
  };
17
17
  },
@@ -0,0 +1,90 @@
1
+ import type { NodeId } from '@astrale-os/sdk/graph/node';
2
+ import type { QueryPrecondition } from '@astrale-os/sdk/mutation';
3
+ import { type QueryEdgeAST } from '@astrale-os/sdk/query';
4
+ export interface GroupMembership {
5
+ readonly member: NodeId;
6
+ readonly group: NodeId;
7
+ }
8
+ export interface GroupMembershipState {
9
+ readonly membership: boolean;
10
+ readonly authority: boolean;
11
+ }
12
+ export interface GroupMembershipObservation extends GroupMembershipState {
13
+ readonly guard: QueryPrecondition<QueryEdgeAST>;
14
+ }
15
+ export declare const readGroupMembership: import("@astrale-os/sdk/query").SingleQueryDefinition<import("@astrale-os/sdk/schema").AuthoredDomain<"shell.astrale.ai", readonly ["kernel.astrale.ai", import("@astrale-os/sdk/schema").KernelSchema] | readonly ["shell.astrale.ai", {
16
+ readonly classes: {
17
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
18
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
19
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
20
+ readonly properties: {
21
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
22
+ };
23
+ readonly methods: {
24
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
25
+ user: string;
26
+ email: string;
27
+ }, {
28
+ readonly mode: 'value';
29
+ readonly value: {
30
+ invitationId: string;
31
+ user: string;
32
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
33
+ };
34
+ }, "authorized", true, false>>;
35
+ };
36
+ }>;
37
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
38
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
39
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
40
+ readonly methods: {
41
+ readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
42
+ member: string;
43
+ group: string;
44
+ }, {
45
+ readonly mode: 'value';
46
+ readonly value: Record<string, never>;
47
+ }, "authorized", true, false>>;
48
+ readonly unassignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
49
+ member: string;
50
+ group: string;
51
+ }, {
52
+ readonly mode: 'value';
53
+ readonly value: Record<string, never>;
54
+ }, "authorized", true, false>>;
55
+ };
56
+ }>;
57
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
58
+ readonly depth: 0;
59
+ readonly abstract: false;
60
+ readonly extends: readonly [];
61
+ readonly properties: never;
62
+ readonly source: {
63
+ readonly as: "member";
64
+ readonly outgoing: "0..*";
65
+ };
66
+ readonly target: {
67
+ readonly as: "group";
68
+ readonly incoming: "0..*";
69
+ };
70
+ readonly constraints: Record<never, never>;
71
+ readonly effectiveProperties: never;
72
+ }>;
73
+ };
74
+ readonly policies: {
75
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
76
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
77
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
78
+ };
79
+ readonly views: {
80
+ readonly application: import("@astrale-os/sdk/schema").View;
81
+ };
82
+ readonly core: {
83
+ readonly nodes: {
84
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
85
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
86
+ };
87
+ };
88
+ }, {
89
+ readonly kernel: "kernel.astrale.ai";
90
+ }]>, GroupMembership, GroupMembershipObservation>;
@@ -1,12 +1,12 @@
1
1
  import { Query, defineQuery, queryResult, } from '@astrale-os/sdk/query';
2
2
  export const readGroupMembership = defineQuery()((domain) => ({
3
3
  id: 'shell.group.membership.read',
4
- build({ user, group }) {
4
+ build({ member, group }) {
5
5
  const edges = Query.from({
6
6
  edges: [domain.classes.member_of_group, domain.dependencies.kernel.classes.extends_with],
7
7
  });
8
8
  return edges
9
- .filter({ binding: edges.source, predicate: { kind: 'identity.equal', identity: user } })
9
+ .filter({ binding: edges.source, predicate: { kind: 'identity.equal', identity: member } })
10
10
  .filter({ binding: edges.target, predicate: { kind: 'identity.equal', identity: group } })
11
11
  .select({
12
12
  kind: 'edges',