@astrale-domains/shell 0.1.0-beta.42 → 0.1.0-beta.43

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/README.md CHANGED
@@ -74,8 +74,8 @@ same transaction as both membership edges. The target Group's manager authorizes
74
74
  the child Group's managers can subsequently change the population that inherits it.
75
75
 
76
76
  `unassignMember` removes only that direct pair. Another membership path can preserve effective
77
- access. Queries of `member_of_group` continue to return direct facts; Grant evaluation expands
78
- identity composition for Policies. Shell must be able to traverse both concrete endpoint Classes,
77
+ access. Queries of `member_of_group` continue to return direct facts; Policy evaluation expands
78
+ the caller's identity composition. Shell must be able to traverse both concrete endpoint Classes,
79
79
  including a foreign Group used as the member.
80
80
 
81
81
  Membership methods converge both edges, including an observed partial membership.
@@ -83,7 +83,7 @@ After an uncertain mutation response they re-read the pair; an unconfirmed outco
83
83
  explicitly unconfirmed. This is not a global repair scan or an exactly-once guarantee.
84
84
 
85
85
  A Team class extending Group can carry a business permission edge to Project. Membership
86
- composition lets an Employee's expanded grant include Team; the protected Project Policy is
86
+ composition lets an Employee, as caller, inherit Team's authority; the protected Project Policy is
87
87
  still evaluated by Kernel. Removing composition removes that authority path. Installed
88
88
  Kernel E2E evidence, not a handler test, qualifies this behavior.
89
89
 
package/dist/domain.d.ts CHANGED
@@ -7,6 +7,9 @@ declare const frontend: import("@astrale-os/sdk/view").Frontend<import("@astrale
7
7
  readonly classes: {
8
8
  readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
9
9
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
10
+ readonly policies: {
11
+ readonly read: true;
12
+ };
10
13
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
11
14
  readonly properties: {
12
15
  readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
@@ -27,6 +30,9 @@ declare const frontend: import("@astrale-os/sdk/view").Frontend<import("@astrale
27
30
  }>;
28
31
  readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
29
32
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
33
+ readonly policies: {
34
+ readonly read: true;
35
+ };
30
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">];
31
37
  readonly methods: {
32
38
  readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
package/dist/runtime.d.ts CHANGED
@@ -18,6 +18,9 @@ declare const functions: readonly [import("@astrale-os/sdk/workflow").WorkflowDe
18
18
  readonly classes: {
19
19
  readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
20
20
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
21
+ readonly policies: {
22
+ readonly read: true;
23
+ };
21
24
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
22
25
  readonly properties: {
23
26
  readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
@@ -38,6 +41,9 @@ declare const functions: readonly [import("@astrale-os/sdk/workflow").WorkflowDe
38
41
  }>;
39
42
  readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
40
43
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
44
+ readonly policies: {
45
+ readonly read: true;
46
+ };
41
47
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
42
48
  readonly methods: {
43
49
  readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
@@ -137,6 +143,9 @@ declare const functions: readonly [import("@astrale-os/sdk/workflow").WorkflowDe
137
143
  readonly classes: {
138
144
  readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
139
145
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
146
+ readonly policies: {
147
+ readonly read: true;
148
+ };
140
149
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
141
150
  readonly properties: {
142
151
  readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
@@ -157,6 +166,9 @@ declare const functions: readonly [import("@astrale-os/sdk/workflow").WorkflowDe
157
166
  }>;
158
167
  readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
159
168
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
169
+ readonly policies: {
170
+ readonly read: true;
171
+ };
160
172
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
161
173
  readonly methods: {
162
174
  readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
@@ -254,6 +266,9 @@ declare const functions: readonly [import("@astrale-os/sdk/workflow").WorkflowDe
254
266
  readonly classes: {
255
267
  readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
256
268
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
269
+ readonly policies: {
270
+ readonly read: true;
271
+ };
257
272
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
258
273
  readonly properties: {
259
274
  readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
@@ -274,6 +289,9 @@ declare const functions: readonly [import("@astrale-os/sdk/workflow").WorkflowDe
274
289
  }>;
275
290
  readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
276
291
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
292
+ readonly policies: {
293
+ readonly read: true;
294
+ };
277
295
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
278
296
  readonly methods: {
279
297
  readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
@@ -371,6 +389,9 @@ declare const functions: readonly [import("@astrale-os/sdk/workflow").WorkflowDe
371
389
  readonly classes: {
372
390
  readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
373
391
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
392
+ readonly policies: {
393
+ readonly read: true;
394
+ };
374
395
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
375
396
  readonly properties: {
376
397
  readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
@@ -391,6 +412,9 @@ declare const functions: readonly [import("@astrale-os/sdk/workflow").WorkflowDe
391
412
  }>;
392
413
  readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
393
414
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
415
+ readonly policies: {
416
+ readonly read: true;
417
+ };
394
418
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
395
419
  readonly methods: {
396
420
  readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
@@ -1,5 +1,8 @@
1
1
  export declare const Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
2
2
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
3
+ readonly policies: {
4
+ readonly read: true;
5
+ };
3
6
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
4
7
  readonly methods: {
5
8
  readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
@@ -3,6 +3,7 @@ import { UsersRound } from '@astrale-os/sdk/schema/icons';
3
3
  import { assignMember, unassignMember } from '../functions/index.js';
4
4
  export const Group = nodeClass({
5
5
  icon: classIcon.lucide(UsersRound),
6
+ policies: { read: true },
6
7
  extends: [K.classes.Identity, K.classes.Named, K.classes.Descriptable],
7
8
  methods: { assignMember, unassignMember },
8
9
  });
@@ -2,6 +2,7 @@ import { edgeClass } from '@astrale-os/sdk/schema';
2
2
  import { User } from '../../user/index.js';
3
3
  import { Group } from './group.js';
4
4
  export const member_of_group = edgeClass.directed({
5
+ policies: { read: true },
5
6
  source: {
6
7
  as: 'member',
7
8
  accepts: [() => User, () => Group],
@@ -1,6 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  export declare const User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
3
3
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
4
+ readonly policies: {
5
+ readonly read: true;
6
+ };
4
7
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
5
8
  readonly properties: {
6
9
  readonly creationKey: z.ZodOptional<z.ZodString>;
@@ -6,6 +6,7 @@ import { invite } from '../functions/index.js';
6
6
  const creationKey = z.string().min(1).max(512).optional();
7
7
  export const User = nodeClass({
8
8
  icon: classIcon.lucide(UserRound),
9
+ policies: { read: true },
9
10
  extends: [K.classes.Identity],
10
11
  properties: { creationKey },
11
12
  methods: { invite },
@@ -3,6 +3,9 @@ export declare const ORIGIN: 'shell.astrale.ai';
3
3
  declare const classes: {
4
4
  readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
5
5
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
6
+ readonly policies: {
7
+ readonly read: true;
8
+ };
6
9
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
7
10
  readonly properties: {
8
11
  readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
@@ -23,6 +26,9 @@ declare const classes: {
23
26
  }>;
24
27
  readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
25
28
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
29
+ readonly policies: {
30
+ readonly read: true;
31
+ };
26
32
  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
33
  readonly methods: {
28
34
  readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
@@ -68,6 +74,9 @@ declare const input: {
68
74
  readonly classes: {
69
75
  readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
70
76
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
77
+ readonly policies: {
78
+ readonly read: true;
79
+ };
71
80
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
72
81
  readonly properties: {
73
82
  readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
@@ -88,6 +97,9 @@ declare const input: {
88
97
  }>;
89
98
  readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
90
99
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
100
+ readonly policies: {
101
+ readonly read: true;
102
+ };
91
103
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
92
104
  readonly methods: {
93
105
  readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
@@ -159,6 +171,9 @@ export declare const ShellSchema: import("@astrale-os/sdk/schema").AuthoredSchem
159
171
  readonly classes: {
160
172
  readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
161
173
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
174
+ readonly policies: {
175
+ readonly read: true;
176
+ };
162
177
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
163
178
  readonly properties: {
164
179
  readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
@@ -179,6 +194,9 @@ export declare const ShellSchema: import("@astrale-os/sdk/schema").AuthoredSchem
179
194
  }>;
180
195
  readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
181
196
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
197
+ readonly policies: {
198
+ readonly read: true;
199
+ };
182
200
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
183
201
  readonly methods: {
184
202
  readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
@@ -252,6 +270,9 @@ export declare const S: schema.ResolvedDomainOf<import("@astrale-os/sdk/schema")
252
270
  readonly classes: {
253
271
  readonly User: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
254
272
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
273
+ readonly policies: {
274
+ readonly read: true;
275
+ };
255
276
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">];
256
277
  readonly properties: {
257
278
  readonly creationKey: import("zod").ZodOptional<import("zod").ZodString>;
@@ -272,6 +293,9 @@ export declare const S: schema.ResolvedDomainOf<import("@astrale-os/sdk/schema")
272
293
  }>;
273
294
  readonly Group: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
274
295
  readonly icon: import("@astrale-os/sdk/schema").ClassIcon;
296
+ readonly policies: {
297
+ readonly read: true;
298
+ };
275
299
  readonly extends: readonly [import("@astrale-os/sdk/schema").KernelClass<"Identity">, import("@astrale-os/sdk/schema").KernelClass<"Named">, import("@astrale-os/sdk/schema").KernelClass<"Descriptable">];
276
300
  readonly methods: {
277
301
  readonly assignMember: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrale-domains/shell",
3
- "version": "0.1.0-beta.42",
3
+ "version": "0.1.0-beta.43",
4
4
  "description": "Astrale Shell Domain schema and remote product implementation",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {