@astrale-domains/shell 0.1.0-beta.41 → 0.1.0-beta.42
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
|
@@ -23,10 +23,13 @@ not listed. Shell requires `read` on Kernel `Domain` and `of_domain`, and `trave
|
|
|
23
23
|
and `View`. Its `usesFunction` Policy admits any caller whose composed profile holds `can_use`
|
|
24
24
|
on the Function, so holding the capability is enough.
|
|
25
25
|
|
|
26
|
-
The
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
The workspace opens only once listEntrypoints answers, so every profile that admits a person to
|
|
27
|
+
the workspace holds it. Administrators and members hold both listEntrypoints and View.resolve
|
|
28
|
+
directly (a Core Edge cannot author Kernel `extends_with`): an invited person, whom Admin assigns
|
|
29
|
+
to Core member, can open the workspace. The Core `applications` Group carries the same two
|
|
30
|
+
capabilities for Identities outside Members. Share them dynamically with
|
|
31
|
+
`Group.assignMember({ member: identity, group: applications })`, which composes the profile through
|
|
32
|
+
`extends_with`; `unassignMember` withdraws it.
|
|
30
33
|
|
|
31
34
|
User extends Kernel.Identity and owns only optional creationKey correlation.
|
|
32
35
|
Concrete business classes may declare their own displayName/email; Shell never reads or writes them.
|
|
@@ -89,7 +92,8 @@ Kernel E2E evidence, not a handler test, qualifies this behavior.
|
|
|
89
92
|
The Shell principal requests all Kernel root functions, the required extends_with operations,
|
|
90
93
|
and the declared grant/revoke authority. Core admin receives the full declared Shell profile,
|
|
91
94
|
including invite, assignMember and unassignMember so humans inheriting admin can call those methods.
|
|
92
|
-
Core member receives Introspect, Query, Mutate
|
|
95
|
+
Core member receives Download, Introspect, Query, Mutate, View.resolve and listEntrypoints, not
|
|
96
|
+
blanket class-read grants.
|
|
93
97
|
The Domain definition's requirements, including Core Identity capabilities in requirements.core, are owned by domain.ts and materialized by installation,
|
|
94
98
|
never by invitation handlers.
|
|
95
99
|
|
package/dist/domain.js
CHANGED
|
@@ -60,10 +60,12 @@ const domainRequirements = requirements({
|
|
|
60
60
|
K.functions.query,
|
|
61
61
|
K.functions.mutate,
|
|
62
62
|
K.classes.View.static.methods.resolve,
|
|
63
|
+
// The workspace opens only on this catalogue: an invited member must be able to read it.
|
|
64
|
+
S.functions.listEntrypoints,
|
|
63
65
|
],
|
|
64
66
|
},
|
|
65
67
|
{
|
|
66
|
-
//
|
|
68
|
+
// For Identities outside Members: Group.assignMember(identity, applications) composes it.
|
|
67
69
|
subject: S.core.nodes.applications,
|
|
68
70
|
functions: [S.functions.listEntrypoints, K.classes.View.static.methods.resolve],
|
|
69
71
|
},
|
|
@@ -11,6 +11,6 @@ export const listEntrypoints = func({
|
|
|
11
11
|
auth: 'authorized',
|
|
12
12
|
input: z.strictObject({}),
|
|
13
13
|
output: z.object({ entrypoints: z.array(entrypointEntry) }),
|
|
14
|
-
// Holding can_use is enough:
|
|
14
|
+
// Holding can_use is enough: Core admin and member hold it; the Applications Group shares it.
|
|
15
15
|
policy: ({ check, ref }) => check(usesFunction, ref(() => listEntrypoints)),
|
|
16
16
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astrale-domains/shell",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.42",
|
|
4
4
|
"description": "Astrale Shell Domain schema and remote product implementation",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@astrale-os/ox": "0.1.4",
|
|
61
|
-
"@astrale-os/sdk": "0.6.0-beta.
|
|
62
|
-
"@astrale-os/shell-react": ">=0.6.0-beta.
|
|
61
|
+
"@astrale-os/sdk": "0.6.0-beta.28",
|
|
62
|
+
"@astrale-os/shell-react": ">=0.6.0-beta.2 <1.0.0",
|
|
63
63
|
"@astrale-os/ui": "1.0.0-beta.32",
|
|
64
64
|
"@astrale/typescript-config": "npm:@jsr/astrale__typescript-config@~2.0.0",
|
|
65
65
|
"@testing-library/dom": "10.4.1",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"vitest": "5.0.1"
|
|
77
77
|
},
|
|
78
78
|
"peerDependencies": {
|
|
79
|
-
"@astrale-os/sdk": ">=0.6.0-beta.
|
|
79
|
+
"@astrale-os/sdk": ">=0.6.0-beta.28 <1.0.0"
|
|
80
80
|
},
|
|
81
81
|
"devEngines": {
|
|
82
82
|
"runtime": {
|