@astrale-domains/shell 0.1.0-beta.25 → 0.1.0-beta.27

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.0-beta.27](https://github.com/astrale-os/shell/compare/shell-domain-v0.1.0-beta.26...shell-domain-v0.1.0-beta.27) (2026-09-08)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **domain:** publish compact inferred Kernel references ([#203](https://github.com/astrale-os/shell/issues/203)) ([ab2d0d9](https://github.com/astrale-os/shell/commit/ab2d0d9170ba7cd688f30cae6ece94b140d29ffd))
9
+
10
+ ## [0.1.0-beta.26](https://github.com/astrale-os/shell/compare/shell-domain-v0.1.0-beta.25...shell-domain-v0.1.0-beta.26) (2026-09-07)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **domain:** infer public schema and class declarations ([#198](https://github.com/astrale-os/shell/issues/198)) ([d0741db](https://github.com/astrale-os/shell/commit/d0741db4c39c7144d2d93556edf253e277c6113b))
16
+
3
17
  ## [0.1.0-beta.25](https://github.com/astrale-os/shell/compare/shell-domain-v0.1.0-beta.24...shell-domain-v0.1.0-beta.25) (2026-09-07)
4
18
 
5
19
 
@@ -1,7 +1,82 @@
1
1
  import { type Application } from '@astrale-os/sdk/application';
2
2
  import { ShellSchema } from './schema/index.js';
3
3
  import { type ShellRuntime } from './runtime.js';
4
- declare const frontend: import("@astrale-os/sdk/view").Frontend<import("@astrale-os/sdk/schema").DefinedSchema<"shell.astrale.ai", import("@astrale-os/sdk/schema").ResolvedDomainOfInput<"shell.astrale.ai", import("./schema/index.js").ShellSchemaInput>>>;
4
+ declare const frontend: import("@astrale-os/sdk/view").Frontend<import("@astrale-os/sdk/schema").AuthoredSchema<"shell.astrale.ai", readonly ["kernel.astrale.ai", import("@astrale-os/sdk/schema").KernelSchema] | readonly ["shell.astrale.ai", {
5
+ readonly classes: {
6
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
7
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
8
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
9
+ readonly properties: {
10
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
11
+ };
12
+ readonly methods: {
13
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
14
+ user: string;
15
+ email: string;
16
+ }, {
17
+ readonly mode: 'value';
18
+ readonly value: {
19
+ invitationId: string;
20
+ user: string;
21
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
22
+ };
23
+ }, "authorized", true, false>>;
24
+ };
25
+ }>;
26
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
27
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
28
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
29
+ readonly methods: {
30
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
31
+ user: string;
32
+ group: string;
33
+ }, {
34
+ readonly mode: 'value';
35
+ readonly value: Record<string, never>;
36
+ }, "authorized", true, false>>;
37
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
38
+ user: string;
39
+ group: string;
40
+ }, {
41
+ readonly mode: 'value';
42
+ readonly value: Record<string, never>;
43
+ }, "authorized", true, false>>;
44
+ };
45
+ }>;
46
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
47
+ readonly depth: 0;
48
+ readonly abstract: false;
49
+ readonly extends: readonly [];
50
+ readonly properties: never;
51
+ readonly source: {
52
+ readonly as: "user";
53
+ readonly outgoing: "0..*";
54
+ };
55
+ readonly target: {
56
+ readonly as: "group";
57
+ readonly incoming: "0..*";
58
+ };
59
+ readonly constraints: Record<never, never>;
60
+ readonly effectiveProperties: never;
61
+ }>;
62
+ };
63
+ readonly policies: {
64
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
65
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
66
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
67
+ };
68
+ readonly views: {
69
+ readonly application: import("@astrale-os/sdk/schema").View;
70
+ };
71
+ readonly core: {
72
+ readonly nodes: {
73
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
74
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
75
+ };
76
+ };
77
+ }, {
78
+ readonly kernel: "kernel.astrale.ai";
79
+ }]>>;
5
80
  declare const applicationRequirements: import("@astrale-os/sdk/application").Requirements;
6
81
  export type ShellApplication = Application<typeof ShellSchema, ShellRuntime, typeof frontend, undefined, typeof applicationRequirements>;
7
82
  export declare const application: ShellApplication;
@@ -1,4 +1,79 @@
1
- export declare const assignUser: import("@astrale-os/sdk/workflow").WorkflowDefinition<import("@astrale-os/sdk/schema").DefinedSchema<"shell.astrale.ai", import("@astrale-os/sdk/schema").ResolvedDomainOfInput<"shell.astrale.ai", import("../../schema/index.js").ShellSchemaInput>>, "Group.assignUser", Readonly<Record<never, never>>, {
1
+ export declare const assignUser: 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", {
2
+ readonly classes: {
3
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
4
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
5
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
6
+ readonly properties: {
7
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
8
+ };
9
+ readonly methods: {
10
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11
+ user: string;
12
+ email: string;
13
+ }, {
14
+ readonly mode: 'value';
15
+ readonly value: {
16
+ invitationId: string;
17
+ user: string;
18
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
19
+ };
20
+ }, "authorized", true, false>>;
21
+ };
22
+ }>;
23
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
24
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
25
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
26
+ readonly methods: {
27
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
28
+ user: string;
29
+ group: string;
30
+ }, {
31
+ readonly mode: 'value';
32
+ readonly value: Record<string, never>;
33
+ }, "authorized", true, false>>;
34
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
35
+ user: string;
36
+ group: string;
37
+ }, {
38
+ readonly mode: 'value';
39
+ readonly value: Record<string, never>;
40
+ }, "authorized", true, false>>;
41
+ };
42
+ }>;
43
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
44
+ readonly depth: 0;
45
+ readonly abstract: false;
46
+ readonly extends: readonly [];
47
+ readonly properties: never;
48
+ readonly source: {
49
+ readonly as: "user";
50
+ readonly outgoing: "0..*";
51
+ };
52
+ readonly target: {
53
+ readonly as: "group";
54
+ readonly incoming: "0..*";
55
+ };
56
+ readonly constraints: Record<never, never>;
57
+ readonly effectiveProperties: never;
58
+ }>;
59
+ };
60
+ readonly policies: {
61
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
62
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
63
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
64
+ };
65
+ readonly views: {
66
+ readonly application: import("@astrale-os/sdk/schema").View;
67
+ };
68
+ readonly core: {
69
+ readonly nodes: {
70
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
71
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
72
+ };
73
+ };
74
+ }, {
75
+ readonly kernel: "kernel.astrale.ai";
76
+ }]>, "Group.assignUser", Readonly<Record<never, never>>, {
2
77
  readonly GROUP_MEMBERSHIP_ENDPOINTS_UNAVAILABLE: {
3
78
  readonly family: 'CONFLICT';
4
79
  readonly message: 'Shell must be able to traverse both membership endpoints before confirming membership.';
@@ -1,4 +1,79 @@
1
- export declare const unassignUser: import("@astrale-os/sdk/workflow").WorkflowDefinition<import("@astrale-os/sdk/schema").DefinedSchema<"shell.astrale.ai", import("@astrale-os/sdk/schema").ResolvedDomainOfInput<"shell.astrale.ai", import("../../schema/index.js").ShellSchemaInput>>, "Group.unassignUser", Readonly<Record<never, never>>, {
1
+ export declare const unassignUser: 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", {
2
+ readonly classes: {
3
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
4
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
5
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
6
+ readonly properties: {
7
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
8
+ };
9
+ readonly methods: {
10
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
11
+ user: string;
12
+ email: string;
13
+ }, {
14
+ readonly mode: 'value';
15
+ readonly value: {
16
+ invitationId: string;
17
+ user: string;
18
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
19
+ };
20
+ }, "authorized", true, false>>;
21
+ };
22
+ }>;
23
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
24
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
25
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
26
+ readonly methods: {
27
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
28
+ user: string;
29
+ group: string;
30
+ }, {
31
+ readonly mode: 'value';
32
+ readonly value: Record<string, never>;
33
+ }, "authorized", true, false>>;
34
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
35
+ user: string;
36
+ group: string;
37
+ }, {
38
+ readonly mode: 'value';
39
+ readonly value: Record<string, never>;
40
+ }, "authorized", true, false>>;
41
+ };
42
+ }>;
43
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
44
+ readonly depth: 0;
45
+ readonly abstract: false;
46
+ readonly extends: readonly [];
47
+ readonly properties: never;
48
+ readonly source: {
49
+ readonly as: "user";
50
+ readonly outgoing: "0..*";
51
+ };
52
+ readonly target: {
53
+ readonly as: "group";
54
+ readonly incoming: "0..*";
55
+ };
56
+ readonly constraints: Record<never, never>;
57
+ readonly effectiveProperties: never;
58
+ }>;
59
+ };
60
+ readonly policies: {
61
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
62
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
63
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
64
+ };
65
+ readonly views: {
66
+ readonly application: import("@astrale-os/sdk/schema").View;
67
+ };
68
+ readonly core: {
69
+ readonly nodes: {
70
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
71
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
72
+ };
73
+ };
74
+ }, {
75
+ readonly kernel: "kernel.astrale.ai";
76
+ }]>, "Group.unassignUser", Readonly<Record<never, never>>, {
2
77
  readonly GROUP_MEMBERSHIP_ENDPOINTS_UNAVAILABLE: {
3
78
  readonly family: 'CONFLICT';
4
79
  readonly message: 'Shell must be able to traverse both membership endpoints before confirming membership.';
@@ -1,5 +1,80 @@
1
1
  import { z } from 'zod';
2
- export declare const invite: import("@astrale-os/sdk/workflow").WorkflowDefinition<import("@astrale-os/sdk/schema").DefinedSchema<"shell.astrale.ai", import("@astrale-os/sdk/schema").ResolvedDomainOfInput<"shell.astrale.ai", import("../../schema/index.js").ShellSchemaInput>>, "User.invite", {
2
+ export declare const invite: 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", {
3
+ readonly classes: {
4
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
5
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
6
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
7
+ readonly properties: {
8
+ readonly creationKey: z.ZodOptional<z.ZodString>;
9
+ };
10
+ readonly methods: {
11
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12
+ user: string;
13
+ email: string;
14
+ }, {
15
+ readonly mode: 'value';
16
+ readonly value: {
17
+ invitationId: string;
18
+ user: string;
19
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
20
+ };
21
+ }, "authorized", true, false>>;
22
+ };
23
+ }>;
24
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
25
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
26
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
27
+ readonly methods: {
28
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
29
+ user: string;
30
+ group: string;
31
+ }, {
32
+ readonly mode: 'value';
33
+ readonly value: Record<string, never>;
34
+ }, "authorized", true, false>>;
35
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
36
+ user: string;
37
+ group: string;
38
+ }, {
39
+ readonly mode: 'value';
40
+ readonly value: Record<string, never>;
41
+ }, "authorized", true, false>>;
42
+ };
43
+ }>;
44
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
45
+ readonly depth: 0;
46
+ readonly abstract: false;
47
+ readonly extends: readonly [];
48
+ readonly properties: never;
49
+ readonly source: {
50
+ readonly as: "user";
51
+ readonly outgoing: "0..*";
52
+ };
53
+ readonly target: {
54
+ readonly as: "group";
55
+ readonly incoming: "0..*";
56
+ };
57
+ readonly constraints: Record<never, never>;
58
+ readonly effectiveProperties: never;
59
+ }>;
60
+ };
61
+ readonly policies: {
62
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
63
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
64
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
65
+ };
66
+ readonly views: {
67
+ readonly application: import("@astrale-os/sdk/schema").View;
68
+ };
69
+ readonly core: {
70
+ readonly nodes: {
71
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
72
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
73
+ };
74
+ };
75
+ }, {
76
+ readonly kernel: "kernel.astrale.ai";
77
+ }]>, "User.invite", {
3
78
  enrollment: import("@astrale-os/sdk/integration").IntegrationDefinition<"shell.enrollment", {
4
79
  invite: import("@astrale-os/sdk/integration").IntegrationOperation<import("../../integrations/user-invitation/index.js").InviteRequest, {
5
80
  invitationId: string;
@@ -22,5 +22,80 @@ type ChangeResult = {
22
22
  readonly code: string;
23
23
  readonly outcomeKnown: boolean;
24
24
  };
25
- export declare const setGroupMembership: import("@astrale-os/sdk/mutation").Mutation<import("@astrale-os/sdk/schema").ResolvedDomainOfInput<"shell.astrale.ai", import("../../schema/index.js").ShellSchemaInput>, Change, ChangeResult>;
25
+ export declare const setGroupMembership: import("@astrale-os/sdk/mutation").Mutation<import("@astrale-os/sdk/schema").AuthoredDomain<"shell.astrale.ai", readonly ["kernel.astrale.ai", import("@astrale-os/sdk/schema").KernelSchema] | readonly ["shell.astrale.ai", {
26
+ readonly classes: {
27
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
28
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
29
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
30
+ readonly properties: {
31
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
32
+ };
33
+ readonly methods: {
34
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
35
+ user: string;
36
+ email: string;
37
+ }, {
38
+ readonly mode: 'value';
39
+ readonly value: {
40
+ invitationId: string;
41
+ user: string;
42
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
43
+ };
44
+ }, "authorized", true, false>>;
45
+ };
46
+ }>;
47
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
48
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
49
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
50
+ readonly methods: {
51
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
52
+ user: string;
53
+ group: string;
54
+ }, {
55
+ readonly mode: 'value';
56
+ readonly value: Record<string, never>;
57
+ }, "authorized", true, false>>;
58
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
59
+ user: string;
60
+ group: string;
61
+ }, {
62
+ readonly mode: 'value';
63
+ readonly value: Record<string, never>;
64
+ }, "authorized", true, false>>;
65
+ };
66
+ }>;
67
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
68
+ readonly depth: 0;
69
+ readonly abstract: false;
70
+ readonly extends: readonly [];
71
+ readonly properties: never;
72
+ readonly source: {
73
+ readonly as: "user";
74
+ readonly outgoing: "0..*";
75
+ };
76
+ readonly target: {
77
+ readonly as: "group";
78
+ readonly incoming: "0..*";
79
+ };
80
+ readonly constraints: Record<never, never>;
81
+ readonly effectiveProperties: never;
82
+ }>;
83
+ };
84
+ readonly policies: {
85
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
86
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
87
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
88
+ };
89
+ readonly views: {
90
+ readonly application: import("@astrale-os/sdk/schema").View;
91
+ };
92
+ readonly core: {
93
+ readonly nodes: {
94
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
95
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
96
+ };
97
+ };
98
+ }, {
99
+ readonly kernel: "kernel.astrale.ai";
100
+ }]>, Change, ChangeResult>;
26
101
  export {};
@@ -9,5 +9,80 @@ export interface GroupMembershipEndpoints {
9
9
  readonly visible: boolean;
10
10
  readonly guard: QueryPrecondition<QueryNodeAST>;
11
11
  }
12
- export declare const readGroupMembershipEndpoints: import("@astrale-os/sdk/query").SingleQueryDefinition<import("@astrale-os/sdk/schema").ResolvedDomainOfInput<"shell.astrale.ai", import("../../schema/index.js").ShellSchemaInput>, Endpoints, GroupMembershipEndpoints>;
12
+ export declare const readGroupMembershipEndpoints: 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", {
13
+ readonly classes: {
14
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
15
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
16
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
17
+ readonly properties: {
18
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
19
+ };
20
+ readonly methods: {
21
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
22
+ user: string;
23
+ email: string;
24
+ }, {
25
+ readonly mode: 'value';
26
+ readonly value: {
27
+ invitationId: string;
28
+ user: string;
29
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
30
+ };
31
+ }, "authorized", true, false>>;
32
+ };
33
+ }>;
34
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
35
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
36
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
37
+ readonly methods: {
38
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
39
+ user: string;
40
+ group: string;
41
+ }, {
42
+ readonly mode: 'value';
43
+ readonly value: Record<string, never>;
44
+ }, "authorized", true, false>>;
45
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
46
+ user: string;
47
+ group: string;
48
+ }, {
49
+ readonly mode: 'value';
50
+ readonly value: Record<string, never>;
51
+ }, "authorized", true, false>>;
52
+ };
53
+ }>;
54
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
55
+ readonly depth: 0;
56
+ readonly abstract: false;
57
+ readonly extends: readonly [];
58
+ readonly properties: never;
59
+ readonly source: {
60
+ readonly as: "user";
61
+ readonly outgoing: "0..*";
62
+ };
63
+ readonly target: {
64
+ readonly as: "group";
65
+ readonly incoming: "0..*";
66
+ };
67
+ readonly constraints: Record<never, never>;
68
+ readonly effectiveProperties: never;
69
+ }>;
70
+ };
71
+ readonly policies: {
72
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
73
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
74
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
75
+ };
76
+ readonly views: {
77
+ readonly application: import("@astrale-os/sdk/schema").View;
78
+ };
79
+ readonly core: {
80
+ readonly nodes: {
81
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
82
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
83
+ };
84
+ };
85
+ }, {
86
+ readonly kernel: "kernel.astrale.ai";
87
+ }]>, Endpoints, GroupMembershipEndpoints>;
13
88
  export {};
@@ -12,4 +12,79 @@ export interface GroupMembershipState {
12
12
  export interface GroupMembershipObservation extends GroupMembershipState {
13
13
  readonly guard: QueryPrecondition<QueryEdgeAST>;
14
14
  }
15
- export declare const readGroupMembership: import("@astrale-os/sdk/query").SingleQueryDefinition<import("@astrale-os/sdk/schema").ResolvedDomainOfInput<"shell.astrale.ai", import("../../schema/index.js").ShellSchemaInput>, GroupMembership, GroupMembershipObservation>;
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 assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
42
+ user: string;
43
+ group: string;
44
+ }, {
45
+ readonly mode: 'value';
46
+ readonly value: Record<string, never>;
47
+ }, "authorized", true, false>>;
48
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
49
+ user: 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: "user";
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>;
package/dist/runtime.d.ts CHANGED
@@ -12,7 +12,82 @@ declare const initialize: (environment: unknown) => {
12
12
  }>>;
13
13
  };
14
14
  };
15
- declare const functions: readonly [import("@astrale-os/sdk/workflow").WorkflowDefinition<import("@astrale-os/sdk/schema").DefinedSchema<"shell.astrale.ai", import("@astrale-os/sdk/schema").ResolvedDomainOfInput<"shell.astrale.ai", import("./schema/index.js").ShellSchemaInput>>, "User.invite", {
15
+ declare const functions: readonly [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", {
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 assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
42
+ user: string;
43
+ group: string;
44
+ }, {
45
+ readonly mode: 'value';
46
+ readonly value: Record<string, never>;
47
+ }, "authorized", true, false>>;
48
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
49
+ user: 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: "user";
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
+ }]>, "User.invite", {
16
91
  enrollment: import("@astrale-os/sdk/integration").IntegrationDefinition<"shell.enrollment", {
17
92
  invite: import("@astrale-os/sdk/integration").IntegrationOperation<import("./integrations/user-invitation/index.js").InviteRequest, {
18
93
  invitationId: string;
@@ -40,7 +115,82 @@ declare const functions: readonly [import("@astrale-os/sdk/workflow").WorkflowDe
40
115
  requestId: import("zod").ZodString;
41
116
  }, import("zod/v4/core").$strict>;
42
117
  };
43
- }>, import("@astrale-os/sdk/workflow").WorkflowDefinition<import("@astrale-os/sdk/schema").DefinedSchema<"shell.astrale.ai", import("@astrale-os/sdk/schema").ResolvedDomainOfInput<"shell.astrale.ai", import("./schema/index.js").ShellSchemaInput>>, "Group.assignUser", Readonly<Record<never, never>>, {
118
+ }>, 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", {
119
+ readonly classes: {
120
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
121
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
122
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
123
+ readonly properties: {
124
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
125
+ };
126
+ readonly methods: {
127
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
128
+ user: string;
129
+ email: string;
130
+ }, {
131
+ readonly mode: 'value';
132
+ readonly value: {
133
+ invitationId: string;
134
+ user: string;
135
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
136
+ };
137
+ }, "authorized", true, false>>;
138
+ };
139
+ }>;
140
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
141
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
142
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
143
+ readonly methods: {
144
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
145
+ user: string;
146
+ group: string;
147
+ }, {
148
+ readonly mode: 'value';
149
+ readonly value: Record<string, never>;
150
+ }, "authorized", true, false>>;
151
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
152
+ user: string;
153
+ group: string;
154
+ }, {
155
+ readonly mode: 'value';
156
+ readonly value: Record<string, never>;
157
+ }, "authorized", true, false>>;
158
+ };
159
+ }>;
160
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
161
+ readonly depth: 0;
162
+ readonly abstract: false;
163
+ readonly extends: readonly [];
164
+ readonly properties: never;
165
+ readonly source: {
166
+ readonly as: "user";
167
+ readonly outgoing: "0..*";
168
+ };
169
+ readonly target: {
170
+ readonly as: "group";
171
+ readonly incoming: "0..*";
172
+ };
173
+ readonly constraints: Record<never, never>;
174
+ readonly effectiveProperties: never;
175
+ }>;
176
+ };
177
+ readonly policies: {
178
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
179
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
180
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
181
+ };
182
+ readonly views: {
183
+ readonly application: import("@astrale-os/sdk/schema").View;
184
+ };
185
+ readonly core: {
186
+ readonly nodes: {
187
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
188
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
189
+ };
190
+ };
191
+ }, {
192
+ readonly kernel: "kernel.astrale.ai";
193
+ }]>, "Group.assignUser", Readonly<Record<never, never>>, {
44
194
  readonly GROUP_MEMBERSHIP_ENDPOINTS_UNAVAILABLE: {
45
195
  readonly family: 'CONFLICT';
46
196
  readonly message: 'Shell must be able to traverse both membership endpoints before confirming membership.';
@@ -66,7 +216,82 @@ declare const functions: readonly [import("@astrale-os/sdk/workflow").WorkflowDe
66
216
  outcomeKnown: import("zod").ZodLiteral<false>;
67
217
  }, import("zod/v4/core").$strict>;
68
218
  };
69
- }>, import("@astrale-os/sdk/workflow").WorkflowDefinition<import("@astrale-os/sdk/schema").DefinedSchema<"shell.astrale.ai", import("@astrale-os/sdk/schema").ResolvedDomainOfInput<"shell.astrale.ai", import("./schema/index.js").ShellSchemaInput>>, "Group.unassignUser", Readonly<Record<never, never>>, {
219
+ }>, 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", {
220
+ readonly classes: {
221
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
222
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
223
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
224
+ readonly properties: {
225
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
226
+ };
227
+ readonly methods: {
228
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
229
+ user: string;
230
+ email: string;
231
+ }, {
232
+ readonly mode: 'value';
233
+ readonly value: {
234
+ invitationId: string;
235
+ user: string;
236
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
237
+ };
238
+ }, "authorized", true, false>>;
239
+ };
240
+ }>;
241
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
242
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
243
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
244
+ readonly methods: {
245
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
246
+ user: string;
247
+ group: string;
248
+ }, {
249
+ readonly mode: 'value';
250
+ readonly value: Record<string, never>;
251
+ }, "authorized", true, false>>;
252
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
253
+ user: string;
254
+ group: string;
255
+ }, {
256
+ readonly mode: 'value';
257
+ readonly value: Record<string, never>;
258
+ }, "authorized", true, false>>;
259
+ };
260
+ }>;
261
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
262
+ readonly depth: 0;
263
+ readonly abstract: false;
264
+ readonly extends: readonly [];
265
+ readonly properties: never;
266
+ readonly source: {
267
+ readonly as: "user";
268
+ readonly outgoing: "0..*";
269
+ };
270
+ readonly target: {
271
+ readonly as: "group";
272
+ readonly incoming: "0..*";
273
+ };
274
+ readonly constraints: Record<never, never>;
275
+ readonly effectiveProperties: never;
276
+ }>;
277
+ };
278
+ readonly policies: {
279
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
280
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
281
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
282
+ };
283
+ readonly views: {
284
+ readonly application: import("@astrale-os/sdk/schema").View;
285
+ };
286
+ readonly core: {
287
+ readonly nodes: {
288
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
289
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
290
+ };
291
+ };
292
+ }, {
293
+ readonly kernel: "kernel.astrale.ai";
294
+ }]>, "Group.unassignUser", Readonly<Record<never, never>>, {
70
295
  readonly GROUP_MEMBERSHIP_ENDPOINTS_UNAVAILABLE: {
71
296
  readonly family: 'CONFLICT';
72
297
  readonly message: 'Shell must be able to traverse both membership endpoints before confirming membership.';
@@ -1,15 +1,20 @@
1
- import { nodeClass, type ClassIcon, type Kernel } from '@astrale-os/sdk/schema';
2
- import { assignUser, unassignUser } from '../functions/index.js';
3
- export interface GroupConfig {
4
- readonly icon: ClassIcon;
5
- readonly extends: readonly [
6
- Kernel['classes']['Identity'],
7
- Kernel['classes']['Named'],
8
- Kernel['classes']['Descriptable']
9
- ];
1
+ export declare const Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
2
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
3
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
10
4
  readonly methods: {
11
- readonly assignUser: typeof assignUser;
12
- readonly unassignUser: typeof unassignUser;
5
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
6
+ user: string;
7
+ group: string;
8
+ }, {
9
+ readonly mode: 'value';
10
+ readonly value: Record<string, never>;
11
+ }, "authorized", true, false>>;
12
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
13
+ user: string;
14
+ group: string;
15
+ }, {
16
+ readonly mode: 'value';
17
+ readonly value: Record<string, never>;
18
+ }, "authorized", true, false>>;
13
19
  };
14
- }
15
- export declare const Group: ReturnType<typeof nodeClass<GroupConfig>>;
20
+ }>;
@@ -1,16 +1,21 @@
1
- import { nodeClass, type ClassIcon, type Kernel } from '@astrale-os/sdk/schema';
2
1
  import { z } from 'zod';
3
- import { invite } from '../functions/index.js';
4
- declare const creationKey: z.ZodOptional<z.ZodString>;
5
- export interface UserConfig {
6
- readonly icon: ClassIcon;
7
- readonly extends: readonly [Kernel['classes']['Identity']];
2
+ export declare const User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
3
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
4
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
8
5
  readonly properties: {
9
- readonly creationKey: typeof creationKey;
6
+ readonly creationKey: z.ZodOptional<z.ZodString>;
10
7
  };
11
8
  readonly methods: {
12
- readonly invite: typeof invite;
9
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
10
+ user: string;
11
+ email: string;
12
+ }, {
13
+ readonly mode: 'value';
14
+ readonly value: {
15
+ invitationId: string;
16
+ user: string;
17
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
18
+ };
19
+ }, "authorized", true, false>>;
13
20
  };
14
- }
15
- export declare const User: ReturnType<typeof nodeClass<UserConfig>>;
16
- export {};
21
+ }>;
@@ -1,38 +1,294 @@
1
- import { defineSchema, KernelSchema, schema } from '@astrale-os/sdk/schema';
2
- import { Group, member_of_group } from './modules/group/index.js';
3
- import { User } from './modules/user/index.js';
1
+ import { KernelSchema, schema } from '@astrale-os/sdk/schema';
4
2
  export declare const ORIGIN: 'shell.astrale.ai';
5
- declare const dependencies: Readonly<{
6
- kernel: typeof KernelSchema;
7
- }>;
8
- export type ShellClasses = {
9
- readonly User: typeof User;
10
- readonly Group: typeof Group;
11
- readonly member_of_group: typeof member_of_group;
3
+ declare const classes: {
4
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
5
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
6
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
7
+ readonly properties: {
8
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
9
+ };
10
+ readonly methods: {
11
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
12
+ user: string;
13
+ email: string;
14
+ }, {
15
+ readonly mode: 'value';
16
+ readonly value: {
17
+ invitationId: string;
18
+ user: string;
19
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
20
+ };
21
+ }, "authorized", true, false>>;
22
+ };
23
+ }>;
24
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
25
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
26
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
27
+ readonly methods: {
28
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
29
+ user: string;
30
+ group: string;
31
+ }, {
32
+ readonly mode: 'value';
33
+ readonly value: Record<string, never>;
34
+ }, "authorized", true, false>>;
35
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
36
+ user: string;
37
+ group: string;
38
+ }, {
39
+ readonly mode: 'value';
40
+ readonly value: Record<string, never>;
41
+ }, "authorized", true, false>>;
42
+ };
43
+ }>;
44
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
45
+ readonly depth: 0;
46
+ readonly abstract: false;
47
+ readonly extends: readonly [];
48
+ readonly properties: never;
49
+ readonly source: {
50
+ readonly as: "user";
51
+ readonly outgoing: "0..*";
52
+ };
53
+ readonly target: {
54
+ readonly as: "group";
55
+ readonly incoming: "0..*";
56
+ };
57
+ readonly constraints: Record<never, never>;
58
+ readonly effectiveProperties: never;
59
+ }>;
12
60
  };
13
- declare const policies: {
14
- readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
15
- readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
16
- readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
17
- };
18
- declare const views: {
19
- readonly application: import("@astrale-os/sdk/schema").View;
20
- };
21
- declare const core: {
22
- readonly nodes: {
23
- readonly admin: import("@astrale-os/sdk/schema").CoreNode;
24
- readonly member: import("@astrale-os/sdk/schema").CoreNode;
61
+ export type ShellClasses = typeof classes;
62
+ declare const input: {
63
+ readonly dependencies: {
64
+ readonly kernel: KernelSchema;
65
+ };
66
+ readonly classes: {
67
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
68
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
69
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
70
+ readonly properties: {
71
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
72
+ };
73
+ readonly methods: {
74
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
75
+ user: string;
76
+ email: string;
77
+ }, {
78
+ readonly mode: 'value';
79
+ readonly value: {
80
+ invitationId: string;
81
+ user: string;
82
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
83
+ };
84
+ }, "authorized", true, false>>;
85
+ };
86
+ }>;
87
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
88
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
89
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
90
+ readonly methods: {
91
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
92
+ user: string;
93
+ group: string;
94
+ }, {
95
+ readonly mode: 'value';
96
+ readonly value: Record<string, never>;
97
+ }, "authorized", true, false>>;
98
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
99
+ user: string;
100
+ group: string;
101
+ }, {
102
+ readonly mode: 'value';
103
+ readonly value: Record<string, never>;
104
+ }, "authorized", true, false>>;
105
+ };
106
+ }>;
107
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
108
+ readonly depth: 0;
109
+ readonly abstract: false;
110
+ readonly extends: readonly [];
111
+ readonly properties: never;
112
+ readonly source: {
113
+ readonly as: "user";
114
+ readonly outgoing: "0..*";
115
+ };
116
+ readonly target: {
117
+ readonly as: "group";
118
+ readonly incoming: "0..*";
119
+ };
120
+ readonly constraints: Record<never, never>;
121
+ readonly effectiveProperties: never;
122
+ }>;
123
+ };
124
+ readonly policies: {
125
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
126
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
127
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
128
+ };
129
+ readonly views: {
130
+ readonly application: import("@astrale-os/sdk/schema").View;
131
+ };
132
+ readonly core: {
133
+ readonly nodes: {
134
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
135
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
136
+ };
25
137
  };
26
138
  };
27
- export interface ShellSchemaInput {
28
- readonly dependencies: typeof dependencies;
29
- readonly classes: ShellClasses;
30
- readonly policies: typeof policies;
31
- readonly views: typeof views;
32
- readonly core: typeof core;
33
- }
34
- export declare const ShellSchema: ReturnType<typeof defineSchema<typeof ORIGIN, ShellSchemaInput>>;
139
+ export type ShellSchemaInput = typeof input;
140
+ export declare const ShellSchema: import("@astrale-os/sdk/schema").AuthoredSchema<"shell.astrale.ai", readonly ["kernel.astrale.ai", KernelSchema] | readonly ["shell.astrale.ai", {
141
+ readonly classes: {
142
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
143
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
144
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
145
+ readonly properties: {
146
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
147
+ };
148
+ readonly methods: {
149
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
150
+ user: string;
151
+ email: string;
152
+ }, {
153
+ readonly mode: 'value';
154
+ readonly value: {
155
+ invitationId: string;
156
+ user: string;
157
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
158
+ };
159
+ }, "authorized", true, false>>;
160
+ };
161
+ }>;
162
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
163
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
164
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
165
+ readonly methods: {
166
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
167
+ user: string;
168
+ group: string;
169
+ }, {
170
+ readonly mode: 'value';
171
+ readonly value: Record<string, never>;
172
+ }, "authorized", true, false>>;
173
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
174
+ user: string;
175
+ group: string;
176
+ }, {
177
+ readonly mode: 'value';
178
+ readonly value: Record<string, never>;
179
+ }, "authorized", true, false>>;
180
+ };
181
+ }>;
182
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
183
+ readonly depth: 0;
184
+ readonly abstract: false;
185
+ readonly extends: readonly [];
186
+ readonly properties: never;
187
+ readonly source: {
188
+ readonly as: "user";
189
+ readonly outgoing: "0..*";
190
+ };
191
+ readonly target: {
192
+ readonly as: "group";
193
+ readonly incoming: "0..*";
194
+ };
195
+ readonly constraints: Record<never, never>;
196
+ readonly effectiveProperties: never;
197
+ }>;
198
+ };
199
+ readonly policies: {
200
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
201
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
202
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
203
+ };
204
+ readonly views: {
205
+ readonly application: import("@astrale-os/sdk/schema").View;
206
+ };
207
+ readonly core: {
208
+ readonly nodes: {
209
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
210
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
211
+ };
212
+ };
213
+ }, {
214
+ readonly kernel: "kernel.astrale.ai";
215
+ }]>;
35
216
  export type ShellSchema = typeof ShellSchema;
36
- export declare const S: schema.ResolvedDomainOf<typeof ShellSchema>;
217
+ export declare const S: schema.ResolvedDomainOf<import("@astrale-os/sdk/schema").AuthoredSchema<"shell.astrale.ai", readonly ["kernel.astrale.ai", KernelSchema] | readonly ["shell.astrale.ai", {
218
+ readonly classes: {
219
+ readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
220
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
221
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
222
+ readonly properties: {
223
+ readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
224
+ };
225
+ readonly methods: {
226
+ readonly invite: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
227
+ user: string;
228
+ email: string;
229
+ }, {
230
+ readonly mode: 'value';
231
+ readonly value: {
232
+ invitationId: string;
233
+ user: string;
234
+ state: "accepted" | "cancelled" | "completed" | "expired" | "failed" | "pending" | "registered" | "registering";
235
+ };
236
+ }, "authorized", true, false>>;
237
+ };
238
+ }>;
239
+ readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
240
+ readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
241
+ readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
242
+ readonly methods: {
243
+ readonly assignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
244
+ user: string;
245
+ group: string;
246
+ }, {
247
+ readonly mode: 'value';
248
+ readonly value: Record<string, never>;
249
+ }, "authorized", true, false>>;
250
+ readonly unassignUser: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
251
+ user: string;
252
+ group: string;
253
+ }, {
254
+ readonly mode: 'value';
255
+ readonly value: Record<string, never>;
256
+ }, "authorized", true, false>>;
257
+ };
258
+ }>;
259
+ readonly member_of_group: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
260
+ readonly depth: 0;
261
+ readonly abstract: false;
262
+ readonly extends: readonly [];
263
+ readonly properties: never;
264
+ readonly source: {
265
+ readonly as: "user";
266
+ readonly outgoing: "0..*";
267
+ };
268
+ readonly target: {
269
+ readonly as: "group";
270
+ readonly incoming: "0..*";
271
+ };
272
+ readonly constraints: Record<never, never>;
273
+ readonly effectiveProperties: never;
274
+ }>;
275
+ };
276
+ readonly policies: {
277
+ readonly belongsToGroup: import("@astrale-os/sdk/schema").Policy;
278
+ readonly ownsClass: import("@astrale-os/sdk/schema").Policy;
279
+ readonly administersShellClass: import("@astrale-os/sdk/schema").Policy;
280
+ };
281
+ readonly views: {
282
+ readonly application: import("@astrale-os/sdk/schema").View;
283
+ };
284
+ readonly core: {
285
+ readonly nodes: {
286
+ readonly admin: import("@astrale-os/sdk/schema").CoreNode;
287
+ readonly member: import("@astrale-os/sdk/schema").CoreNode;
288
+ };
289
+ };
290
+ }, {
291
+ readonly kernel: "kernel.astrale.ai";
292
+ }]>>;
37
293
  export type Shell = schema.DomainOf<ShellSchema>;
38
294
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrale-domains/shell",
3
- "version": "0.1.0-beta.25",
3
+ "version": "0.1.0-beta.27",
4
4
  "description": "Astrale Shell Domain schema and remote product implementation",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -58,7 +58,7 @@
58
58
  },
59
59
  "devDependencies": {
60
60
  "@astrale-os/ox": "0.1.4",
61
- "@astrale-os/sdk": "0.5.0-beta.123",
61
+ "@astrale-os/sdk": "0.5.0-beta.128",
62
62
  "@astrale/typescript-config": "npm:@jsr/astrale__typescript-config@~1.1.3",
63
63
  "@types/node": "26.2.0",
64
64
  "happy-dom": "20.11.2",
@@ -67,7 +67,7 @@
67
67
  "vitest": "4.1.10"
68
68
  },
69
69
  "peerDependencies": {
70
- "@astrale-os/sdk": ">=0.5.0-beta.123 <1.0.0"
70
+ "@astrale-os/sdk": ">=0.5.0-beta.128 <1.0.0"
71
71
  },
72
72
  "devEngines": {
73
73
  "runtime": {