@astrale-domains/shell 0.1.0-beta.7 → 0.1.0-beta.9
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/dist/actions/user/resolve-home.js +1 -1
- package/dist/application.d.ts +9807 -3
- package/dist/mutations/group/membership.js +17 -19
- package/dist/mutations/space/access.js +21 -23
- package/dist/mutations/space/default.js +18 -20
- package/dist/mutations/user/repair.js +76 -78
- package/dist/queries/space/access.js +9 -11
- package/dist/queries/space/admin.js +18 -25
- package/dist/queries/space/member.js +15 -22
- package/dist/queries/user/groups.js +15 -22
- package/dist/queries/user/home.js +19 -26
- package/dist/queries/user/owned-spaces.js +15 -22
- package/dist/queries/user/profile.js +3 -6
- package/dist/queries/user/setup.js +11 -13
- package/dist/runtime.d.ts +7355 -2
- package/dist/schema/domain/index.d.ts +1161 -26407
- package/dist/schema/domain/index.js +4 -5
- package/dist/schema/group/class.d.ts +167 -3132
- package/dist/schema/group/core.d.ts +2 -6
- package/dist/schema/group/index.d.ts +1 -1
- package/dist/schema/group/index.js +1 -1
- package/dist/schema/group/methods.d.ts +13 -2059
- package/dist/schema/group/methods.js +2 -1
- package/dist/schema/group/relationships.d.ts +6 -4303
- package/dist/schema/group/view.d.ts +1 -3291
- package/dist/schema/home/view.d.ts +1 -3
- package/dist/schema/index.d.ts +5 -5
- package/dist/schema/index.js +1 -1
- package/dist/schema/setup/functions.d.ts +28 -47
- package/dist/schema/setup/index.d.ts +1 -1
- package/dist/schema/space/class.d.ts +56 -2289
- package/dist/schema/space/core.d.ts +3 -22515
- package/dist/schema/space/index.d.ts +1 -1
- package/dist/schema/space/index.js +1 -1
- package/dist/schema/space/methods.d.ts +18 -2089
- package/dist/schema/space/methods.js +5 -3
- package/dist/schema/space/relationships.d.ts +24 -23173
- package/dist/schema/space/view.d.ts +1 -2316
- package/dist/schema/user/class.d.ts +128 -865
- package/dist/schema/user/index.d.ts +1 -1
- package/dist/schema/user/methods.d.ts +7 -14
- package/dist/schema/user/view.d.ts +1 -1017
- package/dist/workflows/group/change.js +3 -3
- package/dist/workflows/setup/run.js +3 -3
- package/dist/workflows/space/access.js +3 -3
- package/dist/workflows/space/default.js +3 -3
- package/package.json +3 -3
|
@@ -2,11 +2,11 @@ import { InvocationError } from '@astrale-os/sdk/execution';
|
|
|
2
2
|
import { changeGroupMembership } from '#mutations/group';
|
|
3
3
|
import { observeUserGroups } from '#queries/user';
|
|
4
4
|
export async function changeMembership(context, present) {
|
|
5
|
-
const observed = await context.step.run('observe-membership', () => context.query(observeUserGroups
|
|
5
|
+
const observed = await context.step.run('observe-membership', () => context.query(observeUserGroups, context.input.user));
|
|
6
6
|
const wasPresent = includes(observed.groups, context.self);
|
|
7
7
|
if (wasPresent === present)
|
|
8
8
|
return Object.freeze({});
|
|
9
|
-
const result = await context.step.run('change-membership', () => context.mutate(changeGroupMembership
|
|
9
|
+
const result = await context.step.run('change-membership', () => context.mutate(changeGroupMembership, {
|
|
10
10
|
user: context.input.user,
|
|
11
11
|
group: context.self,
|
|
12
12
|
present,
|
|
@@ -16,7 +16,7 @@ export async function changeMembership(context, present) {
|
|
|
16
16
|
return Object.freeze({});
|
|
17
17
|
if (result.outcomeKnown)
|
|
18
18
|
return membershipConflict(result.code);
|
|
19
|
-
const recovered = await context.step.run('recover-membership', () => context.query(observeUserGroups
|
|
19
|
+
const recovered = await context.step.run('recover-membership', () => context.query(observeUserGroups, context.input.user));
|
|
20
20
|
if (includes(recovered.groups, context.self) === present)
|
|
21
21
|
return Object.freeze({});
|
|
22
22
|
throw new InvocationError('BACKEND_UNAVAILABLE', 'Group membership outcome remains unknown after exact observation.', { reason: { code: result.code, details: {} } });
|
|
@@ -30,7 +30,7 @@ export async function runSetup(context, role) {
|
|
|
30
30
|
return convergeExisting(context, role, existing.id, false);
|
|
31
31
|
}
|
|
32
32
|
async function convergeExisting(context, role, userId, changedBeforeObservation) {
|
|
33
|
-
const observed = await context.step.run('observe-user-setup', () => context.query(observeUserSetup
|
|
33
|
+
const observed = await context.step.run('observe-user-setup', () => context.query(observeUserSetup, Path.id(userId).raw));
|
|
34
34
|
const plan = planUserSetup(context.domain, context.input, role, observed);
|
|
35
35
|
if (plan.kind === 'conflict')
|
|
36
36
|
return setupConflict(plan);
|
|
@@ -41,7 +41,7 @@ async function convergeExisting(context, role, userId, changedBeforeObservation)
|
|
|
41
41
|
changed: changedBeforeObservation,
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
-
const repaired = await context.step.run('repair-user-setup', () => context.mutate(repairUser
|
|
44
|
+
const repaired = await context.step.run('repair-user-setup', () => context.mutate(repairUser, plan.repair));
|
|
45
45
|
if (repaired.ok) {
|
|
46
46
|
return Object.freeze({ userId, personalSpaceId: repaired.personalSpaceId, changed: true });
|
|
47
47
|
}
|
|
@@ -50,7 +50,7 @@ async function convergeExisting(context, role, userId, changedBeforeObservation)
|
|
|
50
50
|
reason: { code: repaired.code, details: {} },
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
|
-
const recovered = await context.step.run('recover-user-repair', () => context.query(observeUserSetup
|
|
53
|
+
const recovered = await context.step.run('recover-user-repair', () => context.query(observeUserSetup, Path.id(userId).raw));
|
|
54
54
|
const recoveredPlan = planUserSetup(context.domain, context.input, role, recovered);
|
|
55
55
|
if (recoveredPlan.kind === 'conflict')
|
|
56
56
|
return setupConflict(recoveredPlan);
|
|
@@ -2,11 +2,11 @@ import { InvocationError } from '@astrale-os/sdk/execution';
|
|
|
2
2
|
import { changeSpaceAccess } from '#mutations/space';
|
|
3
3
|
import { observeDirectSpaceAccess } from '#queries/space';
|
|
4
4
|
export async function setUserAccess(context, desired) {
|
|
5
|
-
const observed = await context.step.run('observe-space-access', () => context.query(observeDirectSpaceAccess
|
|
5
|
+
const observed = await context.step.run('observe-space-access', () => context.query(observeDirectSpaceAccess, context.input.user));
|
|
6
6
|
const current = state(observed, context.self);
|
|
7
7
|
if (current === desired)
|
|
8
8
|
return Object.freeze({});
|
|
9
|
-
const result = await context.step.run('change-space-access', () => context.mutate(changeSpaceAccess
|
|
9
|
+
const result = await context.step.run('change-space-access', () => context.mutate(changeSpaceAccess, {
|
|
10
10
|
user: context.input.user,
|
|
11
11
|
space: context.self,
|
|
12
12
|
addMember: desired === 'member' && current !== 'member',
|
|
@@ -19,7 +19,7 @@ export async function setUserAccess(context, desired) {
|
|
|
19
19
|
return Object.freeze({});
|
|
20
20
|
if (result.outcomeKnown)
|
|
21
21
|
return accessConflict(result.code);
|
|
22
|
-
const recovered = await context.step.run('recover-space-access', () => context.query(observeDirectSpaceAccess
|
|
22
|
+
const recovered = await context.step.run('recover-space-access', () => context.query(observeDirectSpaceAccess, context.input.user));
|
|
23
23
|
if (state(recovered, context.self) === desired)
|
|
24
24
|
return Object.freeze({});
|
|
25
25
|
throw new InvocationError('BACKEND_UNAVAILABLE', 'Space access outcome remains unknown after exact observation.', { reason: { code: result.code, details: {} } });
|
|
@@ -5,7 +5,7 @@ import { changeDefaultSpace } from '#mutations/space';
|
|
|
5
5
|
import { observeHome } from '#queries/user';
|
|
6
6
|
async function setDefault(context) {
|
|
7
7
|
const user = context.caller.principal;
|
|
8
|
-
const observed = await context.step.run('observe-default-space', () => context.query(observeHome
|
|
8
|
+
const observed = await context.step.run('observe-default-space', () => context.query(observeHome, Path.id(user).raw));
|
|
9
9
|
if (observed.spaces.length > 1) {
|
|
10
10
|
throw new InvocationError('CONFLICT', 'The Shell User has more than one default Space.', {
|
|
11
11
|
reason: { code: 'MULTIPLE_DEFAULT_SPACES', details: {} },
|
|
@@ -13,7 +13,7 @@ async function setDefault(context) {
|
|
|
13
13
|
}
|
|
14
14
|
if (observed.spaces[0]?.id === context.self)
|
|
15
15
|
return Object.freeze({});
|
|
16
|
-
const result = await context.step.run('change-default-space', () => context.mutate(changeDefaultSpace
|
|
16
|
+
const result = await context.step.run('change-default-space', () => context.mutate(changeDefaultSpace, {
|
|
17
17
|
user,
|
|
18
18
|
...(observed.spaces[0] === undefined ? {} : { previous: observed.spaces[0].id }),
|
|
19
19
|
next: context.self,
|
|
@@ -23,7 +23,7 @@ async function setDefault(context) {
|
|
|
23
23
|
return Object.freeze({});
|
|
24
24
|
if (result.outcomeKnown)
|
|
25
25
|
return defaultConflict(result.code);
|
|
26
|
-
const recovered = await context.step.run('recover-default-space', () => context.query(observeHome
|
|
26
|
+
const recovered = await context.step.run('recover-default-space', () => context.query(observeHome, Path.id(user).raw));
|
|
27
27
|
if (recovered.spaces.length === 1 && recovered.spaces[0]?.id === context.self) {
|
|
28
28
|
return Object.freeze({});
|
|
29
29
|
}
|
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.9",
|
|
4
4
|
"description": "Astrale Shell Domain schema and remote product implementation",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -39,13 +39,13 @@
|
|
|
39
39
|
"zod": "4.4.3"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@astrale-os/sdk": "0.5.0-beta.
|
|
42
|
+
"@astrale-os/sdk": "0.5.0-beta.32",
|
|
43
43
|
"@astrale/typescript-config": "npm:@jsr/astrale__typescript-config@~1.1.3",
|
|
44
44
|
"typescript": "7.0.2",
|
|
45
45
|
"vitest": "4.1.10"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@astrale-os/sdk": ">=0.5.0-beta.
|
|
48
|
+
"@astrale-os/sdk": ">=0.5.0-beta.32 <1.0.0"
|
|
49
49
|
},
|
|
50
50
|
"engines": {
|
|
51
51
|
"node": ">=24"
|