@astrale-domains/shell 0.1.0-beta.10 → 0.1.0-beta.12

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 (49) hide show
  1. package/README.md +4 -4
  2. package/dist/schema/domain/index.d.ts +40 -40
  3. package/dist/schema/index.d.ts +6 -6
  4. package/package.json +7 -15
  5. package/dist/actions/index.js +0 -1
  6. package/dist/actions/user/index.js +0 -1
  7. package/dist/actions/user/resolve-home.js +0 -19
  8. package/dist/application.d.ts +0 -9809
  9. package/dist/application.js +0 -29
  10. package/dist/entrypoints/application.d.ts +0 -1
  11. package/dist/entrypoints/application.js +0 -1
  12. package/dist/entrypoints/runtime.js +0 -1
  13. package/dist/index.d.ts +0 -3
  14. package/dist/index.js +0 -3
  15. package/dist/mutations/group/index.js +0 -1
  16. package/dist/mutations/group/membership.js +0 -19
  17. package/dist/mutations/space/access.js +0 -23
  18. package/dist/mutations/space/default.js +0 -23
  19. package/dist/mutations/space/index.js +0 -2
  20. package/dist/mutations/user/index.js +0 -1
  21. package/dist/mutations/user/repair.js +0 -83
  22. package/dist/queries/space/access.js +0 -12
  23. package/dist/queries/space/admin.js +0 -20
  24. package/dist/queries/space/index.js +0 -3
  25. package/dist/queries/space/member.js +0 -17
  26. package/dist/queries/user/groups.js +0 -17
  27. package/dist/queries/user/home.js +0 -21
  28. package/dist/queries/user/index.js +0 -5
  29. package/dist/queries/user/owned-spaces.js +0 -17
  30. package/dist/queries/user/profile.js +0 -14
  31. package/dist/queries/user/setup.js +0 -16
  32. package/dist/runtime.d.ts +0 -4
  33. package/dist/runtime.js +0 -18
  34. package/dist/workflows/group/assign.js +0 -3
  35. package/dist/workflows/group/change.js +0 -31
  36. package/dist/workflows/group/index.js +0 -3
  37. package/dist/workflows/group/unassign.js +0 -3
  38. package/dist/workflows/index.js +0 -3
  39. package/dist/workflows/setup/admin.js +0 -3
  40. package/dist/workflows/setup/index.js +0 -5
  41. package/dist/workflows/setup/member.js +0 -3
  42. package/dist/workflows/setup/plan.js +0 -88
  43. package/dist/workflows/setup/provision.js +0 -57
  44. package/dist/workflows/setup/run.js +0 -74
  45. package/dist/workflows/space/access.js +0 -41
  46. package/dist/workflows/space/add.js +0 -3
  47. package/dist/workflows/space/default.js +0 -37
  48. package/dist/workflows/space/index.js +0 -4
  49. package/dist/workflows/space/remove.js +0 -3
package/README.md CHANGED
@@ -60,10 +60,10 @@ decisions, journeys, legacy disposition, dependency gates, and qualification evi
60
60
  [`.history/`](.history/). Product Domains intentionally have no `.spec/` tree; Kernel authoring
61
61
  values come through semantic `@astrale-os/sdk/*` facades.
62
62
 
63
- Domain authors import the schema facade from `@astrale-domains/shell`. Worker deployments import the
64
- application descriptor from `@astrale-domains/shell/application` and the runtime entrypoint from
65
- `@astrale-domains/shell/runtime`, so bundling the remote runtime does not traverse the build-only
66
- schema facade.
63
+ Domain authors import the schema facade from `@astrale-domains/shell`. The public package is the
64
+ schema contract only. Shell's independently released Worker is built from this repository's local
65
+ application descriptor and runtime entrypoint, so consumers never install remote implementation
66
+ code to use the Domain.
67
67
 
68
68
  The source, deterministic Knowledge linter, TypeScript package, unit/cross-layer tests, and remote Shell
69
69
  contract are qualified locally. Installed-instance, released-package, browser, and live
@@ -1,8 +1,8 @@
1
1
  import { KernelSchema, schema, type builder, type CallableInputOf, type CallableResultOf } from '@astrale-os/sdk/schema';
2
- import { groupAssignUser, groupUnassignUser } from '#schema/group';
3
- import { setupAdmin, setupMember } from '#schema/setup';
4
- import { spaceAddUser, spaceRemoveUser, spaceSetDefault } from '#schema/space';
5
- import { resolveHome } from '#schema/user';
2
+ import { groupAssignUser, groupUnassignUser } from '../group/index.js';
3
+ import { setupAdmin, setupMember } from '../setup/index.js';
4
+ import { spaceAddUser, spaceRemoveUser, spaceSetDefault } from '../space/index.js';
5
+ import { resolveHome } from '../user/index.js';
6
6
  export declare const ORIGIN: 'shell.astrale.ai';
7
7
  export declare const ShellCore: {
8
8
  nodes: {
@@ -312,15 +312,6 @@ export declare const ShellSchema: builder.DefinedSchema<"shell.astrale.ai", buil
312
312
  };
313
313
  }, true, "default", "authenticated", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.can"> & {
314
314
  readonly name: "can";
315
- }) | (import("@astrale-os/sdk/schema").ResolvedMethod<{
316
- audience?: string | undefined;
317
- ttlSeconds: number;
318
- grant?: unknown;
319
- }, {
320
- readonly mode: 'value';
321
- readonly value: string;
322
- }, true, "default", "authorized", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.mint"> & {
323
- readonly name: "mint";
324
315
  }) | (import("@astrale-os/sdk/schema").ResolvedMethod<Record<string, never>, {
325
316
  readonly mode: 'value';
326
317
  readonly value: {
@@ -343,6 +334,15 @@ export declare const ShellSchema: builder.DefinedSchema<"shell.astrale.ai", buil
343
334
  };
344
335
  }, true, "default", "authenticated", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.whoami"> & {
345
336
  readonly name: "whoami";
337
+ }) | (import("@astrale-os/sdk/schema").ResolvedMethod<{
338
+ audience?: string | undefined;
339
+ ttlSeconds: number;
340
+ grant?: unknown;
341
+ }, {
342
+ readonly mode: 'value';
343
+ readonly value: string;
344
+ }, true, "default", "authorized", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.mint"> & {
345
+ readonly name: "mint";
346
346
  }) | (import("@astrale-os/sdk/schema").ResolvedMethod<{
347
347
  issuer: string;
348
348
  subject: string;
@@ -670,15 +670,6 @@ export declare const ShellSchema: builder.DefinedSchema<"shell.astrale.ai", buil
670
670
  };
671
671
  }, true, "default", "authenticated", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.can"> & {
672
672
  readonly name: "can";
673
- }) | (import("@astrale-os/sdk/schema").ResolvedMethod<{
674
- audience?: string | undefined;
675
- ttlSeconds: number;
676
- grant?: unknown;
677
- }, {
678
- readonly mode: 'value';
679
- readonly value: string;
680
- }, true, "default", "authorized", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.mint"> & {
681
- readonly name: "mint";
682
673
  }) | (import("@astrale-os/sdk/schema").ResolvedMethod<Record<string, never>, {
683
674
  readonly mode: 'value';
684
675
  readonly value: {
@@ -701,6 +692,15 @@ export declare const ShellSchema: builder.DefinedSchema<"shell.astrale.ai", buil
701
692
  };
702
693
  }, true, "default", "authenticated", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.whoami"> & {
703
694
  readonly name: "whoami";
695
+ }) | (import("@astrale-os/sdk/schema").ResolvedMethod<{
696
+ audience?: string | undefined;
697
+ ttlSeconds: number;
698
+ grant?: unknown;
699
+ }, {
700
+ readonly mode: 'value';
701
+ readonly value: string;
702
+ }, true, "default", "authorized", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.mint"> & {
703
+ readonly name: "mint";
704
704
  }) | (import("@astrale-os/sdk/schema").ResolvedMethod<{
705
705
  issuer: string;
706
706
  subject: string;
@@ -1131,15 +1131,6 @@ export declare const S: schema.ResolvedDomainOf<builder.DefinedSchema<"shell.ast
1131
1131
  };
1132
1132
  }, true, "default", "authenticated", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.can"> & {
1133
1133
  readonly name: "can";
1134
- }) | (import("@astrale-os/sdk/schema").ResolvedMethod<{
1135
- audience?: string | undefined;
1136
- ttlSeconds: number;
1137
- grant?: unknown;
1138
- }, {
1139
- readonly mode: 'value';
1140
- readonly value: string;
1141
- }, true, "default", "authorized", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.mint"> & {
1142
- readonly name: "mint";
1143
1134
  }) | (import("@astrale-os/sdk/schema").ResolvedMethod<Record<string, never>, {
1144
1135
  readonly mode: 'value';
1145
1136
  readonly value: {
@@ -1162,6 +1153,15 @@ export declare const S: schema.ResolvedDomainOf<builder.DefinedSchema<"shell.ast
1162
1153
  };
1163
1154
  }, true, "default", "authenticated", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.whoami"> & {
1164
1155
  readonly name: "whoami";
1156
+ }) | (import("@astrale-os/sdk/schema").ResolvedMethod<{
1157
+ audience?: string | undefined;
1158
+ ttlSeconds: number;
1159
+ grant?: unknown;
1160
+ }, {
1161
+ readonly mode: 'value';
1162
+ readonly value: string;
1163
+ }, true, "default", "authorized", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.mint"> & {
1164
+ readonly name: "mint";
1165
1165
  }) | (import("@astrale-os/sdk/schema").ResolvedMethod<{
1166
1166
  issuer: string;
1167
1167
  subject: string;
@@ -1489,15 +1489,6 @@ export declare const S: schema.ResolvedDomainOf<builder.DefinedSchema<"shell.ast
1489
1489
  };
1490
1490
  }, true, "default", "authenticated", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.can"> & {
1491
1491
  readonly name: "can";
1492
- }) | (import("@astrale-os/sdk/schema").ResolvedMethod<{
1493
- audience?: string | undefined;
1494
- ttlSeconds: number;
1495
- grant?: unknown;
1496
- }, {
1497
- readonly mode: 'value';
1498
- readonly value: string;
1499
- }, true, "default", "authorized", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.mint"> & {
1500
- readonly name: "mint";
1501
1492
  }) | (import("@astrale-os/sdk/schema").ResolvedMethod<Record<string, never>, {
1502
1493
  readonly mode: 'value';
1503
1494
  readonly value: {
@@ -1520,6 +1511,15 @@ export declare const S: schema.ResolvedDomainOf<builder.DefinedSchema<"shell.ast
1520
1511
  };
1521
1512
  }, true, "default", "authenticated", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.whoami"> & {
1522
1513
  readonly name: "whoami";
1514
+ }) | (import("@astrale-os/sdk/schema").ResolvedMethod<{
1515
+ audience?: string | undefined;
1516
+ ttlSeconds: number;
1517
+ grant?: unknown;
1518
+ }, {
1519
+ readonly mode: 'value';
1520
+ readonly value: string;
1521
+ }, true, "default", "authorized", import("@astrale-os/sdk/schema").PolicyCheckExpression<import("@astrale-os/sdk/schema").PolicyRef, import("@astrale-os/sdk/schema").PolicyCheckObject>, "kernel.astrale.ai:class.Identity.method.mint"> & {
1522
+ readonly name: "mint";
1523
1523
  }) | (import("@astrale-os/sdk/schema").ResolvedMethod<{
1524
1524
  issuer: string;
1525
1525
  subject: string;
@@ -1,6 +1,6 @@
1
- export { ORIGIN, S, ShellCore, ShellSchema, type GroupMembershipInput, type GroupMembershipResult, type ResolveHomeResult, type SetDefaultSpaceInput, type SetDefaultSpaceResult, type SetupUserInput, type SetupUserResult, type Shell, type SpaceUserAccess, type SpaceUserAccessInput, type SpaceUserAccessResult, type SpaceUserInput, type SpaceUserResult, } from '#schema/domain';
2
- export { Group, adminGroup, groupAssignUser, groupCore, groupUnassignUser, groupView, maySetupUsers, memberGroup, member_of_group, } from '#schema/group';
3
- export { homeView } from '#schema/home';
4
- export { setupAdmin, setupMember } from '#schema/setup';
5
- export { Space, administers_space, belongsToSpace, default_space, defaultSpace, mayAdministerSpace, member_of_space, owns_space, ownsSpace, spaceAddUser, spaceCore, spaceRemoveUser, spaceSetDefault, spaceView, } from '#schema/space';
6
- export { User, resolveHome, userView } from '#schema/user';
1
+ export { ORIGIN, S, ShellCore, ShellSchema, type GroupMembershipInput, type GroupMembershipResult, type ResolveHomeResult, type SetDefaultSpaceInput, type SetDefaultSpaceResult, type SetupUserInput, type SetupUserResult, type Shell, type SpaceUserAccess, type SpaceUserAccessInput, type SpaceUserAccessResult, type SpaceUserInput, type SpaceUserResult, } from './domain/index.js';
2
+ export { Group, adminGroup, groupAssignUser, groupCore, groupUnassignUser, groupView, maySetupUsers, memberGroup, member_of_group, } from './group/index.js';
3
+ export { homeView } from './home/index.js';
4
+ export { setupAdmin, setupMember } from './setup/index.js';
5
+ export { Space, administers_space, belongsToSpace, default_space, defaultSpace, mayAdministerSpace, member_of_space, owns_space, ownsSpace, spaceAddUser, spaceCore, spaceRemoveUser, spaceSetDefault, spaceView, } from './space/index.js';
6
+ export { User, resolveHome, userView } from './user/index.js';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@astrale-domains/shell",
3
- "version": "0.1.0-beta.10",
4
- "description": "Astrale Shell Domain schema and remote product implementation",
3
+ "version": "0.1.0-beta.12",
4
+ "description": "Astrale Shell Domain schema contract",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -12,8 +12,8 @@
12
12
  "dist"
13
13
  ],
14
14
  "type": "module",
15
- "main": "./dist/index.js",
16
- "types": "./dist/index.d.ts",
15
+ "main": "./dist/schema/index.js",
16
+ "types": "./dist/schema/index.d.ts",
17
17
  "imports": {
18
18
  "#mutations": "./dist/mutations/index.js",
19
19
  "#mutations/*": "./dist/mutations/*/index.js",
@@ -26,16 +26,8 @@
26
26
  },
27
27
  "exports": {
28
28
  ".": {
29
- "types": "./dist/index.d.ts",
30
- "import": "./dist/index.js"
31
- },
32
- "./application": {
33
- "types": "./dist/entrypoints/application.d.ts",
34
- "import": "./dist/entrypoints/application.js"
35
- },
36
- "./runtime": {
37
- "types": "./dist/runtime.d.ts",
38
- "import": "./dist/entrypoints/runtime.js"
29
+ "types": "./dist/schema/index.d.ts",
30
+ "import": "./dist/schema/index.js"
39
31
  },
40
32
  "./package.json": "./package.json"
41
33
  },
@@ -47,7 +39,7 @@
47
39
  "zod": "4.4.3"
48
40
  },
49
41
  "devDependencies": {
50
- "@astrale-os/sdk": "0.5.0-beta.38",
42
+ "@astrale-os/sdk": "0.5.0-beta.49",
51
43
  "@astrale/typescript-config": "npm:@jsr/astrale__typescript-config@~1.1.3",
52
44
  "typescript": "7.0.2",
53
45
  "vitest": "4.1.10"
@@ -1 +0,0 @@
1
- export * from './user/index.js';
@@ -1 +0,0 @@
1
- export { resolveHomeAction } from './resolve-home.js';
@@ -1,19 +0,0 @@
1
- import { defineAction } from '@astrale-os/sdk/action';
2
- import { InvocationError } from '@astrale-os/sdk/execution';
3
- import { Path } from '@astrale-os/sdk/graph/path';
4
- import { observeHome } from '#queries/user';
5
- export const resolveHomeAction = defineAction()('User.resolveHome', async ({ domain, query, self }) => {
6
- const observed = await query(observeHome, Path.id(self).raw);
7
- if (observed.spaces.length > 1) {
8
- throw new InvocationError('CONFLICT', 'The Shell User has more than one default Space.', {
9
- reason: { code: 'MULTIPLE_DEFAULT_SPACES', details: {} },
10
- });
11
- }
12
- const home = observed.spaces[0];
13
- if (home !== undefined && home.class !== domain.classes.Space.key) {
14
- throw new InvocationError('CONFLICT', 'The Shell User default target is not a Shell Space.', {
15
- reason: { code: 'DEFAULT_SPACE_CLASS_CONFLICT', details: {} },
16
- });
17
- }
18
- return Object.freeze({ userId: self, personalSpaceId: home?.id ?? null });
19
- });