@xemahq/kernel-contracts 0.33.0 → 0.35.0

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 (77) hide show
  1. package/dist/app-runtime/index.d.ts +4 -0
  2. package/dist/app-runtime/index.d.ts.map +1 -1
  3. package/dist/app-runtime/index.js +4 -0
  4. package/dist/app-runtime/index.js.map +1 -1
  5. package/dist/app-runtime/lib/app-channel.d.ts +7 -0
  6. package/dist/app-runtime/lib/app-channel.d.ts.map +1 -0
  7. package/dist/app-runtime/lib/app-channel.js +11 -0
  8. package/dist/app-runtime/lib/app-channel.js.map +1 -0
  9. package/dist/app-runtime/lib/app-release.d.ts +24 -0
  10. package/dist/app-runtime/lib/app-release.d.ts.map +1 -0
  11. package/dist/app-runtime/lib/app-release.js +29 -0
  12. package/dist/app-runtime/lib/app-release.js.map +1 -0
  13. package/dist/app-runtime/lib/app-shell-binding.d.ts +38 -0
  14. package/dist/app-runtime/lib/app-shell-binding.d.ts.map +1 -0
  15. package/dist/app-runtime/lib/app-shell-binding.js +58 -0
  16. package/dist/app-runtime/lib/app-shell-binding.js.map +1 -0
  17. package/dist/app-runtime/lib/app.d.ts +3 -0
  18. package/dist/app-runtime/lib/app.d.ts.map +1 -1
  19. package/dist/app-runtime/lib/app.js +19 -4
  20. package/dist/app-runtime/lib/app.js.map +1 -1
  21. package/dist/app-runtime/lib/branding-config.d.ts.map +1 -1
  22. package/dist/app-runtime/lib/branding-config.js.map +1 -1
  23. package/dist/app-runtime/lib/delegated-session.js +1 -1
  24. package/dist/app-runtime/lib/delegated-session.js.map +1 -1
  25. package/dist/app-runtime/lib/surface-kind.d.ts +8 -0
  26. package/dist/app-runtime/lib/surface-kind.d.ts.map +1 -0
  27. package/dist/app-runtime/lib/surface-kind.js +12 -0
  28. package/dist/app-runtime/lib/surface-kind.js.map +1 -0
  29. package/dist/capability/index.d.ts +1 -0
  30. package/dist/capability/index.d.ts.map +1 -1
  31. package/dist/capability/index.js +1 -0
  32. package/dist/capability/index.js.map +1 -1
  33. package/dist/capability/lib/first-party-capability-domains.d.ts +29 -0
  34. package/dist/capability/lib/first-party-capability-domains.d.ts.map +1 -0
  35. package/dist/capability/lib/first-party-capability-domains.js +35 -0
  36. package/dist/capability/lib/first-party-capability-domains.js.map +1 -0
  37. package/dist/principal/index.d.ts +6 -0
  38. package/dist/principal/index.d.ts.map +1 -0
  39. package/dist/principal/index.js +22 -0
  40. package/dist/principal/index.js.map +1 -0
  41. package/dist/principal/lib/app-invocation-identity.d.ts +22 -0
  42. package/dist/principal/lib/app-invocation-identity.d.ts.map +1 -0
  43. package/dist/principal/lib/app-invocation-identity.js +36 -0
  44. package/dist/principal/lib/app-invocation-identity.js.map +1 -0
  45. package/dist/principal/lib/clamp-authority.d.ts +4 -0
  46. package/dist/principal/lib/clamp-authority.d.ts.map +1 -0
  47. package/dist/principal/lib/clamp-authority.js +23 -0
  48. package/dist/principal/lib/clamp-authority.js.map +1 -0
  49. package/dist/principal/lib/delegation-chain.d.ts +26 -0
  50. package/dist/principal/lib/delegation-chain.d.ts.map +1 -0
  51. package/dist/principal/lib/delegation-chain.js +81 -0
  52. package/dist/principal/lib/delegation-chain.js.map +1 -0
  53. package/dist/principal/lib/delegation-grant.d.ts +10 -0
  54. package/dist/principal/lib/delegation-grant.d.ts.map +1 -0
  55. package/dist/principal/lib/delegation-grant.js +12 -0
  56. package/dist/principal/lib/delegation-grant.js.map +1 -0
  57. package/dist/principal/lib/execution-principal.d.ts +20 -0
  58. package/dist/principal/lib/execution-principal.d.ts.map +1 -0
  59. package/dist/principal/lib/execution-principal.js +22 -0
  60. package/dist/principal/lib/execution-principal.js.map +1 -0
  61. package/package.json +1 -1
  62. package/src/app-runtime/index.ts +4 -0
  63. package/src/app-runtime/lib/app-channel.ts +32 -0
  64. package/src/app-runtime/lib/app-release.ts +90 -0
  65. package/src/app-runtime/lib/app-shell-binding.ts +159 -0
  66. package/src/app-runtime/lib/app.ts +48 -17
  67. package/src/app-runtime/lib/branding-config.ts +12 -6
  68. package/src/app-runtime/lib/delegated-session.ts +2 -2
  69. package/src/app-runtime/lib/surface-kind.ts +30 -0
  70. package/src/capability/index.ts +1 -0
  71. package/src/capability/lib/first-party-capability-domains.ts +76 -0
  72. package/src/principal/index.ts +5 -0
  73. package/src/principal/lib/app-invocation-identity.ts +95 -0
  74. package/src/principal/lib/clamp-authority.ts +64 -0
  75. package/src/principal/lib/delegation-chain.ts +145 -0
  76. package/src/principal/lib/delegation-grant.ts +36 -0
  77. package/src/principal/lib/execution-principal.ts +74 -0
@@ -5,5 +5,9 @@ export * from './lib/delegated-session';
5
5
  export * from './lib/app-client';
6
6
  export * from './lib/app-lockfile';
7
7
  export * from './lib/branding-config';
8
+ export * from './lib/surface-kind';
9
+ export * from './lib/app-shell-binding';
10
+ export * from './lib/app-channel';
11
+ export * from './lib/app-release';
8
12
  export * from './lib/app';
9
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app-runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app-runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
@@ -21,5 +21,9 @@ __exportStar(require("./lib/delegated-session"), exports);
21
21
  __exportStar(require("./lib/app-client"), exports);
22
22
  __exportStar(require("./lib/app-lockfile"), exports);
23
23
  __exportStar(require("./lib/branding-config"), exports);
24
+ __exportStar(require("./lib/surface-kind"), exports);
25
+ __exportStar(require("./lib/app-shell-binding"), exports);
26
+ __exportStar(require("./lib/app-channel"), exports);
27
+ __exportStar(require("./lib/app-release"), exports);
24
28
  __exportStar(require("./lib/app"), exports);
25
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app-runtime/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,wDAAsC;AACtC,yDAAuC;AACvC,0DAAwC;AACxC,mDAAiC;AACjC,qDAAmC;AACnC,wDAAsC;AACtC,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app-runtime/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,wDAAsC;AACtC,yDAAuC;AACvC,0DAAwC;AACxC,mDAAiC;AACjC,qDAAmC;AACnC,wDAAsC;AACtC,qDAAmC;AACnC,0DAAwC;AACxC,oDAAkC;AAClC,oDAAkC;AAClC,4CAA0B"}
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ export declare enum AppChannel {
3
+ Preview = "preview",
4
+ Live = "live"
5
+ }
6
+ export declare const AppChannelSchema: z.ZodEnum<typeof AppChannel>;
7
+ //# sourceMappingURL=app-channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-channel.d.ts","sourceRoot":"","sources":["../../../src/app-runtime/lib/app-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED,eAAO,MAAM,gBAAgB,8BAA2B,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppChannelSchema = exports.AppChannel = void 0;
4
+ const zod_1 = require("zod");
5
+ var AppChannel;
6
+ (function (AppChannel) {
7
+ AppChannel["Preview"] = "preview";
8
+ AppChannel["Live"] = "live";
9
+ })(AppChannel || (exports.AppChannel = AppChannel = {}));
10
+ exports.AppChannelSchema = zod_1.z.nativeEnum(AppChannel);
11
+ //# sourceMappingURL=app-channel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-channel.js","sourceRoot":"","sources":["../../../src/app-runtime/lib/app-channel.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AA0BxB,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAEY,QAAA,gBAAgB,GAAG,OAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { z } from 'zod';
2
+ import { type AppLockfile } from './app-lockfile';
3
+ export declare enum AppReleaseState {
4
+ Preparing = "preparing",
5
+ Prepared = "prepared",
6
+ Activating = "activating",
7
+ Active = "active",
8
+ Superseded = "superseded",
9
+ Failed = "failed"
10
+ }
11
+ export declare const AppReleaseStateSchema: z.ZodEnum<typeof AppReleaseState>;
12
+ export interface AppRelease {
13
+ id: string;
14
+ appId: string;
15
+ version: number;
16
+ definition: unknown;
17
+ lockfile: AppLockfile;
18
+ schemaPlan: unknown;
19
+ state: AppReleaseState;
20
+ preparedAt?: string;
21
+ activatedAt?: string;
22
+ }
23
+ export declare const AppReleaseSchema: z.ZodType<AppRelease>;
24
+ //# sourceMappingURL=app-release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-release.d.ts","sourceRoot":"","sources":["../../../src/app-runtime/lib/app-release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAoBrE,oBAAY,eAAe;IACzB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,qBAAqB,mCAAgC,CAAC;AAmCnE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,EAYvB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppReleaseSchema = exports.AppReleaseStateSchema = exports.AppReleaseState = void 0;
4
+ const zod_1 = require("zod");
5
+ const app_lockfile_1 = require("./app-lockfile");
6
+ var AppReleaseState;
7
+ (function (AppReleaseState) {
8
+ AppReleaseState["Preparing"] = "preparing";
9
+ AppReleaseState["Prepared"] = "prepared";
10
+ AppReleaseState["Activating"] = "activating";
11
+ AppReleaseState["Active"] = "active";
12
+ AppReleaseState["Superseded"] = "superseded";
13
+ AppReleaseState["Failed"] = "failed";
14
+ })(AppReleaseState || (exports.AppReleaseState = AppReleaseState = {}));
15
+ exports.AppReleaseStateSchema = zod_1.z.nativeEnum(AppReleaseState);
16
+ exports.AppReleaseSchema = zod_1.z.object({
17
+ id: zod_1.z.string().min(1),
18
+ appId: zod_1.z.string().min(1),
19
+ version: zod_1.z.number().int().positive({
20
+ message: 'AppRelease.version must be a positive integer (1-based).',
21
+ }),
22
+ definition: zod_1.z.unknown(),
23
+ lockfile: app_lockfile_1.AppLockfileSchema,
24
+ schemaPlan: zod_1.z.unknown(),
25
+ state: exports.AppReleaseStateSchema,
26
+ preparedAt: zod_1.z.string().min(1).optional(),
27
+ activatedAt: zod_1.z.string().min(1).optional(),
28
+ });
29
+ //# sourceMappingURL=app-release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-release.js","sourceRoot":"","sources":["../../../src/app-runtime/lib/app-release.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iDAAqE;AAoBrE,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,wCAAqB,CAAA;IACrB,4CAAyB,CAAA;IACzB,oCAAiB,CAAA;IACjB,4CAAyB,CAAA;IACzB,oCAAiB,CAAA;AACnB,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAEY,QAAA,qBAAqB,GAAG,OAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AA+CtD,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;QACjC,OAAO,EAAE,0DAA0D;KACpE,CAAC;IACF,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE;IACvB,QAAQ,EAAE,gCAAiB;IAC3B,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE;IACvB,KAAK,EAAE,6BAAqB;IAC5B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAA0B,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { z } from 'zod';
2
+ import { AudienceKind } from './audience-policy';
3
+ export declare enum AppShellKind {
4
+ Hosted = "hosted",
5
+ Standalone = "standalone",
6
+ Embedded = "embedded",
7
+ Headless = "headless"
8
+ }
9
+ export declare const AppShellKindSchema: z.ZodEnum<typeof AppShellKind>;
10
+ export declare enum AppHostBinding {
11
+ Xema = "xema",
12
+ CustomDomain = "custom-domain",
13
+ PathBased = "path-based"
14
+ }
15
+ export declare const AppHostBindingSchema: z.ZodEnum<typeof AppHostBinding>;
16
+ export interface AppSurfaceDimensions {
17
+ readonly shell: AppShellKind;
18
+ readonly audience: AudienceKind;
19
+ readonly host: AppHostBinding;
20
+ }
21
+ export declare const AppSurfaceDimensionsSchema: z.ZodType<AppSurfaceDimensions>;
22
+ export declare enum AppSurfaceConflictCode {
23
+ HeadlessWithChrome = "headless-with-chrome",
24
+ EmbeddedIsChrome = "embedded-is-chrome",
25
+ StandaloneNeedsOwnHost = "standalone-needs-own-host",
26
+ EmbeddedNeedsXemaHost = "embedded-needs-xema-host"
27
+ }
28
+ export interface AppSurfaceConflict {
29
+ readonly code: AppSurfaceConflictCode;
30
+ readonly message: string;
31
+ }
32
+ export interface AppSurfaceValidation {
33
+ readonly ok: boolean;
34
+ readonly conflicts: readonly AppSurfaceConflict[];
35
+ }
36
+ export declare function validateAppSurfaceCombination(dims: AppSurfaceDimensions): AppSurfaceValidation;
37
+ export declare function isHeadlessEmbeddedContradiction(shell: AppShellKind, alsoEmbedded: boolean): boolean;
38
+ //# sourceMappingURL=app-shell-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-shell-binding.d.ts","sourceRoot":"","sources":["../../../src/app-runtime/lib/app-shell-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAyBjD,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,kBAAkB,gCAA6B,CAAC;AAY7D,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,YAAY,kBAAkB;IAC9B,SAAS,eAAe;CACzB;AAED,eAAO,MAAM,oBAAoB,kCAA+B,CAAC;AAGjE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC/B;AAED,eAAO,MAAM,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAMzB,CAAC;AAM/C,oBAAY,sBAAsB;IAChC,kBAAkB,yBAAyB;IAC3C,gBAAgB,uBAAuB;IACvC,sBAAsB,8BAA8B;IACpD,qBAAqB,6BAA6B;CACnD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACnD;AAsBD,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,oBAAoB,GACzB,oBAAoB,CAgCtB;AASD,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,OAAO,GACpB,OAAO,CAET"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppSurfaceConflictCode = exports.AppSurfaceDimensionsSchema = exports.AppHostBindingSchema = exports.AppHostBinding = exports.AppShellKindSchema = exports.AppShellKind = void 0;
4
+ exports.validateAppSurfaceCombination = validateAppSurfaceCombination;
5
+ exports.isHeadlessEmbeddedContradiction = isHeadlessEmbeddedContradiction;
6
+ const zod_1 = require("zod");
7
+ const audience_policy_1 = require("./audience-policy");
8
+ var AppShellKind;
9
+ (function (AppShellKind) {
10
+ AppShellKind["Hosted"] = "hosted";
11
+ AppShellKind["Standalone"] = "standalone";
12
+ AppShellKind["Embedded"] = "embedded";
13
+ AppShellKind["Headless"] = "headless";
14
+ })(AppShellKind || (exports.AppShellKind = AppShellKind = {}));
15
+ exports.AppShellKindSchema = zod_1.z.nativeEnum(AppShellKind);
16
+ var AppHostBinding;
17
+ (function (AppHostBinding) {
18
+ AppHostBinding["Xema"] = "xema";
19
+ AppHostBinding["CustomDomain"] = "custom-domain";
20
+ AppHostBinding["PathBased"] = "path-based";
21
+ })(AppHostBinding || (exports.AppHostBinding = AppHostBinding = {}));
22
+ exports.AppHostBindingSchema = zod_1.z.nativeEnum(AppHostBinding);
23
+ exports.AppSurfaceDimensionsSchema = zod_1.z
24
+ .object({
25
+ shell: exports.AppShellKindSchema,
26
+ audience: zod_1.z.nativeEnum(audience_policy_1.AudienceKind),
27
+ host: exports.AppHostBindingSchema,
28
+ })
29
+ .strict();
30
+ var AppSurfaceConflictCode;
31
+ (function (AppSurfaceConflictCode) {
32
+ AppSurfaceConflictCode["HeadlessWithChrome"] = "headless-with-chrome";
33
+ AppSurfaceConflictCode["EmbeddedIsChrome"] = "embedded-is-chrome";
34
+ AppSurfaceConflictCode["StandaloneNeedsOwnHost"] = "standalone-needs-own-host";
35
+ AppSurfaceConflictCode["EmbeddedNeedsXemaHost"] = "embedded-needs-xema-host";
36
+ })(AppSurfaceConflictCode || (exports.AppSurfaceConflictCode = AppSurfaceConflictCode = {}));
37
+ function validateAppSurfaceCombination(dims) {
38
+ const conflicts = [];
39
+ if (dims.shell === AppShellKind.Standalone &&
40
+ dims.host === AppHostBinding.PathBased) {
41
+ conflicts.push({
42
+ code: AppSurfaceConflictCode.StandaloneNeedsOwnHost,
43
+ message: 'A standalone app has its own full-page surface and cannot be path-based on a shared host; use xema or custom-domain.',
44
+ });
45
+ }
46
+ if (dims.shell === AppShellKind.Embedded &&
47
+ dims.host !== AppHostBinding.Xema) {
48
+ conflicts.push({
49
+ code: AppSurfaceConflictCode.EmbeddedNeedsXemaHost,
50
+ message: "An embedded app is served into a third-party page and relies on the Xema origin's CSP/cookies; it must be xema-hosted.",
51
+ });
52
+ }
53
+ return { ok: conflicts.length === 0, conflicts };
54
+ }
55
+ function isHeadlessEmbeddedContradiction(shell, alsoEmbedded) {
56
+ return shell === AppShellKind.Headless && alsoEmbedded;
57
+ }
58
+ //# sourceMappingURL=app-shell-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-shell-binding.js","sourceRoot":"","sources":["../../../src/app-runtime/lib/app-shell-binding.ts"],"names":[],"mappings":";;;AA8GA,sEAkCC;AASD,0EAKC;AA9JD,6BAAwB;AAExB,uDAAiD;AAyBjD,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;AACvB,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAEY,QAAA,kBAAkB,GAAG,OAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAY7D,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,gDAA8B,CAAA;IAC9B,0CAAwB,CAAA;AAC1B,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAEY,QAAA,oBAAoB,GAAG,OAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AASpD,QAAA,0BAA0B,GAAoC,OAAC;KACzE,MAAM,CAAC;IACN,KAAK,EAAE,0BAAkB;IACzB,QAAQ,EAAE,OAAC,CAAC,UAAU,CAAC,8BAAY,CAAC;IACpC,IAAI,EAAE,4BAAoB;CAC3B,CAAC;KACD,MAAM,EAAqC,CAAC;AAM/C,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,qEAA2C,CAAA;IAC3C,iEAAuC,CAAA;IACvC,8EAAoD,CAAA;IACpD,4EAAkD,CAAA;AACpD,CAAC,EALW,sBAAsB,sCAAtB,sBAAsB,QAKjC;AAgCD,SAAgB,6BAA6B,CAC3C,IAA0B;IAE1B,MAAM,SAAS,GAAyB,EAAE,CAAC;IAQ3C,IACE,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,UAAU;QACtC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,SAAS,EACtC,CAAC;QACD,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,sBAAsB,CAAC,sBAAsB;YACnD,OAAO,EACL,sHAAsH;SACzH,CAAC,CAAC;IACL,CAAC;IAED,IACE,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,QAAQ;QACpC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,EACjC,CAAC;QACD,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,sBAAsB,CAAC,qBAAqB;YAClD,OAAO,EACL,wHAAwH;SAC3H,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;AACnD,CAAC;AASD,SAAgB,+BAA+B,CAC7C,KAAmB,EACnB,YAAqB;IAErB,OAAO,KAAK,KAAK,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC;AACzD,CAAC"}
@@ -6,6 +6,7 @@ import { type BiomeInstall } from './biome-install';
6
6
  import { type AudiencePolicy } from './audience-policy';
7
7
  import { type BrandingConfig } from './branding-config';
8
8
  import { type AppLockfile } from './app-lockfile';
9
+ import { SurfaceKind } from './surface-kind';
9
10
  export interface CapabilityPolicyOverride {
10
11
  capability: CapabilityRef;
11
12
  allowedResources?: readonly string[];
@@ -21,6 +22,8 @@ export interface App {
21
22
  capabilityPolicy: CapabilityPolicyOverride[];
22
23
  branding: BrandingConfig;
23
24
  lockfile: AppLockfile;
25
+ surface: SurfaceKind;
26
+ activeReleaseId?: string;
24
27
  }
25
28
  export declare const AppSchema: z.ZodType<App>;
26
29
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app-runtime/lib/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAUrE,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,aAAa,CAAC;IAC1B,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,mBAAmB,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,8BAA8B,EAKrC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAqB1C,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,aAAa,CAAC;IACnB,eAAe,EAAE,YAAY,EAAE,CAAC;IAChC,WAAW,EAAE,uBAAuB,CAAC;IACrC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;IAC7C,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,EAchB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app-runtime/lib/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAqB,MAAM,gBAAgB,CAAC;AAUhE,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,aAAa,CAAC;IAC1B,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,mBAAmB,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,8BAA8B,EAKrC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;AA+B1C,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,aAAa,CAAC;IACnB,eAAe,EAAE,YAAY,EAAE,CAAC;IAChC,WAAW,EAAE,uBAAuB,CAAC;IACrC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;IAC7C,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,SAAS,EAgCH,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC"}
@@ -9,17 +9,17 @@ const biome_install_1 = require("./biome-install");
9
9
  const audience_policy_1 = require("./audience-policy");
10
10
  const branding_config_1 = require("./branding-config");
11
11
  const app_lockfile_1 = require("./app-lockfile");
12
+ const surface_kind_1 = require("./surface-kind");
12
13
  exports.CapabilityPolicyOverrideSchema = zod_1.z.object({
13
14
  capability: capability_1.CapabilityRefSchema,
14
15
  allowedResources: zod_1.z.array(zod_1.z.string().min(1)).readonly().optional(),
15
16
  allowedEnvironments: zod_1.z.array(execution_environment_1.ExecutionEnvironmentRefSchema).readonly().optional(),
16
17
  rateLimit: zod_1.z.number().int().positive().optional(),
17
18
  });
18
- exports.AppSchema = zod_1.z.object({
19
+ exports.AppSchema = zod_1.z
20
+ .object({
19
21
  ref: object_1.XemaObjectRefSchema,
20
- installedBiomes: zod_1.z.array(biome_install_1.BiomeInstallSchema).min(1, {
21
- message: 'App.installedBiomes must contain at least one BiomeInstall; an App with zero biomes has no capability surface.',
22
- }),
22
+ installedBiomes: zod_1.z.array(biome_install_1.BiomeInstallSchema),
23
23
  defaultZone: execution_environment_1.ExecutionEnvironmentRefSchema,
24
24
  audiences: zod_1.z.array(audience_policy_1.AudiencePolicySchema).min(1, {
25
25
  message: 'App.audiences must contain at least one AudiencePolicy; an App with zero audiences is unreachable.',
@@ -27,5 +27,20 @@ exports.AppSchema = zod_1.z.object({
27
27
  capabilityPolicy: zod_1.z.array(exports.CapabilityPolicyOverrideSchema),
28
28
  branding: branding_config_1.BrandingConfigSchema,
29
29
  lockfile: app_lockfile_1.AppLockfileSchema,
30
+ surface: surface_kind_1.SurfaceKindSchema,
31
+ activeReleaseId: zod_1.z.string().min(1).optional(),
32
+ })
33
+ .superRefine((app, ctx) => {
34
+ if (app.surface !== surface_kind_1.SurfaceKind.Declared && app.installedBiomes.length === 0) {
35
+ ctx.addIssue({
36
+ code: 'too_small',
37
+ minimum: 1,
38
+ origin: 'array',
39
+ inclusive: true,
40
+ path: ['installedBiomes'],
41
+ message: `App.installedBiomes must contain at least one BiomeInstall for a '${app.surface}' App; ` +
42
+ 'one with zero biomes has no capability surface. Only a `declared` App may install none.',
43
+ });
44
+ }
30
45
  });
31
46
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/app-runtime/lib/app.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iDAG0B;AAC1B,uEAGqC;AACrC,yCAGsB;AACtB,mDAAwE;AACxE,uDAA8E;AAC9E,uDAA8E;AAC9E,iDAAqE;AAiBxD,QAAA,8BAA8B,GAAG,OAAC,CAAC,MAAM,CAAC;IACrD,UAAU,EAAE,gCAAmB;IAC/B,gBAAgB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClE,mBAAmB,EAAE,OAAC,CAAC,KAAK,CAAC,qDAA6B,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjF,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAClD,CAAwC,CAAC;AA+B7B,QAAA,SAAS,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,GAAG,EAAE,4BAAmB;IACxB,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,kCAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;QAClD,OAAO,EACL,gHAAgH;KACnH,CAAC;IACF,WAAW,EAAE,qDAA6B;IAC1C,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,sCAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;QAC9C,OAAO,EACL,oGAAoG;KACvG,CAAC;IACF,gBAAgB,EAAE,OAAC,CAAC,KAAK,CAAC,sCAA8B,CAAC;IACzD,QAAQ,EAAE,sCAAoB;IAC9B,QAAQ,EAAE,gCAAiB;CAC5B,CAAmB,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/app-runtime/lib/app.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iDAG0B;AAC1B,uEAGqC;AACrC,yCAGsB;AACtB,mDAAwE;AACxE,uDAA8E;AAC9E,uDAA8E;AAC9E,iDAAqE;AACrE,iDAAgE;AAiBnD,QAAA,8BAA8B,GAAG,OAAC,CAAC,MAAM,CAAC;IACrD,UAAU,EAAE,gCAAmB;IAC/B,gBAAgB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClE,mBAAmB,EAAE,OAAC,CAAC,KAAK,CAAC,qDAA6B,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjF,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAClD,CAAwC,CAAC;AA2C7B,QAAA,SAAS,GAAG,OAAC;KACvB,MAAM,CAAC;IACN,GAAG,EAAE,4BAAmB;IACxB,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,kCAAkB,CAAC;IAC5C,WAAW,EAAE,qDAA6B;IAC1C,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,sCAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;QAC9C,OAAO,EACL,oGAAoG;KACvG,CAAC;IACF,gBAAgB,EAAE,OAAC,CAAC,KAAK,CAAC,sCAA8B,CAAC;IACzD,QAAQ,EAAE,sCAAoB;IAC9B,QAAQ,EAAE,gCAAiB;IAC3B,OAAO,EAAE,gCAAiB;IAC1B,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC;KACD,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAKxB,IAAI,GAAG,CAAC,OAAO,KAAK,0BAAW,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7E,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,iBAAiB,CAAC;YACzB,OAAO,EACL,qEAAqE,GAAG,CAAC,OAAO,SAAS;gBACzF,yFAAyF;SAC5F,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAA8B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"branding-config.d.ts","sourceRoot":"","sources":["../../../src/app-runtime/lib/branding-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4BxB,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,oBAAoB,EAkB3B,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"branding-config.d.ts","sourceRoot":"","sources":["../../../src/app-runtime/lib/branding-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkCxB,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,oBAAoB,EAkB3B,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"branding-config.js","sourceRoot":"","sources":["../../../src/app-runtime/lib/branding-config.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAaxB,MAAM,mBAAmB,GACvB,uIAAuI,CAAC;AAqB7H,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QAC7B,OAAO,EAAE,wDAAwD;KAClE,CAAC;IACF,OAAO,EAAE,OAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC;QACH,OAAO,EAAE,6CAA6C;KACvD,CAAC;SACD,QAAQ,EAAE;IACb,YAAY,EAAE,OAAC;SACZ,MAAM,EAAE;SACR,KAAK,CAAC,mBAAmB,EAAE;QAC1B,OAAO,EACL,6IAA6I;KAChJ,CAAC;SACD,QAAQ,EAAE;IACb,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACrE,CAA8B,CAAC"}
1
+ {"version":3,"file":"branding-config.js","sourceRoot":"","sources":["../../../src/app-runtime/lib/branding-config.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAaxB,MAAM,mBAAmB,GACvB,uIAAuI,CAAC;AA2B7H,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QAC7B,OAAO,EAAE,wDAAwD;KAClE,CAAC;IACF,OAAO,EAAE,OAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC;QACH,OAAO,EAAE,6CAA6C;KACvD,CAAC;SACD,QAAQ,EAAE;IACb,YAAY,EAAE,OAAC;SACZ,MAAM,EAAE;SACR,KAAK,CAAC,mBAAmB,EAAE;QAC1B,OAAO,EACL,6IAA6I;KAChJ,CAAC;SACD,QAAQ,EAAE;IACb,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACrE,CAA8B,CAAC"}
@@ -6,7 +6,7 @@ const capability_1 = require("../../capability");
6
6
  const execution_environment_1 = require("../../execution-environment");
7
7
  exports.DelegatedSessionClaimsSchema = zod_1.z.object({
8
8
  sub: zod_1.z.string().min(1, {
9
- message: 'DelegatedSessionClaims.sub must be a non-empty subject identifier (e.g. `external-user:<id>` or `anon:<random>`).',
9
+ message: 'DelegatedSessionClaims.sub must be a non-empty subject identifier (e.g. `external-subject:<id>` or `anon:<random>`).',
10
10
  }),
11
11
  act: zod_1.z.string().min(1, {
12
12
  message: 'DelegatedSessionClaims.act must be a non-empty actor identifier (e.g. `app:<appClientId>`).',
@@ -1 +1 @@
1
- {"version":3,"file":"delegated-session.js","sourceRoot":"","sources":["../../../src/app-runtime/lib/delegated-session.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iDAG0B;AAC1B,uEAGqC;AAoCxB,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACrB,OAAO,EACL,mHAAmH;KACtH,CAAC;IACF,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACrB,OAAO,EACL,6FAA6F;KAChG,CAAC;IACF,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACrB,OAAO,EAAE,uDAAuD;KACjE,CAAC;IACF,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACzB,OAAO,EAAE,+DAA+D;KACzE,CAAC;IACF,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACzB,OAAO,EAAE,+DAA+D;KACzE,CAAC;IACF,WAAW,EAAE,qDAA6B;IAC1C,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,gCAAmB,CAAC;IAC1C,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;QAC7B,OAAO,EACL,yFAAyF;KAC5F,CAAC;CACH,CAAsC,CAAC"}
1
+ {"version":3,"file":"delegated-session.js","sourceRoot":"","sources":["../../../src/app-runtime/lib/delegated-session.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iDAG0B;AAC1B,uEAGqC;AAoCxB,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACrB,OAAO,EACL,sHAAsH;KACzH,CAAC;IACF,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACrB,OAAO,EACL,6FAA6F;KAChG,CAAC;IACF,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACrB,OAAO,EAAE,uDAAuD;KACjE,CAAC;IACF,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACzB,OAAO,EAAE,+DAA+D;KACzE,CAAC;IACF,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QACzB,OAAO,EAAE,+DAA+D;KACzE,CAAC;IACF,WAAW,EAAE,qDAA6B;IAC1C,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,gCAAmB,CAAC;IAC1C,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;QAC7B,OAAO,EACL,yFAAyF;KAC5F,CAAC;CACH,CAAsC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ export declare enum SurfaceKind {
3
+ Declared = "declared",
4
+ Composed = "composed",
5
+ Coded = "coded"
6
+ }
7
+ export declare const SurfaceKindSchema: z.ZodEnum<typeof SurfaceKind>;
8
+ //# sourceMappingURL=surface-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface-kind.d.ts","sourceRoot":"","sources":["../../../src/app-runtime/lib/surface-kind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED,eAAO,MAAM,iBAAiB,+BAA4B,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SurfaceKindSchema = exports.SurfaceKind = void 0;
4
+ const zod_1 = require("zod");
5
+ var SurfaceKind;
6
+ (function (SurfaceKind) {
7
+ SurfaceKind["Declared"] = "declared";
8
+ SurfaceKind["Composed"] = "composed";
9
+ SurfaceKind["Coded"] = "coded";
10
+ })(SurfaceKind || (exports.SurfaceKind = SurfaceKind = {}));
11
+ exports.SurfaceKindSchema = zod_1.z.nativeEnum(SurfaceKind);
12
+ //# sourceMappingURL=surface-kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface-kind.js","sourceRoot":"","sources":["../../../src/app-runtime/lib/surface-kind.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAuBxB,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;IACrB,8BAAe,CAAA;AACjB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAEY,QAAA,iBAAiB,GAAG,OAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './lib/capability-ref';
2
2
  export * from './lib/connector-capability-ref';
3
+ export * from './lib/first-party-capability-domains';
3
4
  export * from './lib/capability-grant';
4
5
  export * from './lib/capability-policy';
5
6
  export * from './lib/permission-profile';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capability/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capability/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC"}
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./lib/capability-ref"), exports);
18
18
  __exportStar(require("./lib/connector-capability-ref"), exports);
19
+ __exportStar(require("./lib/first-party-capability-domains"), exports);
19
20
  __exportStar(require("./lib/capability-grant"), exports);
20
21
  __exportStar(require("./lib/capability-policy"), exports);
21
22
  __exportStar(require("./lib/permission-profile"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capability/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,iEAA+C;AAC/C,yDAAuC;AACvC,0DAAwC;AACxC,2DAAyC;AACzC,iEAA+C;AAC/C,kDAAgC;AAChC,gEAA8C;AAC9C,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capability/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,iEAA+C;AAC/C,uEAAqD;AACrD,yDAAuC;AACvC,0DAAwC;AACxC,2DAAyC;AACzC,iEAA+C;AAC/C,kDAAgC;AAChC,gEAA8C;AAC9C,+CAA6B"}
@@ -0,0 +1,29 @@
1
+ import { z } from 'zod';
2
+ export declare const FIRST_PARTY_CAPABILITY_DOMAINS: readonly ["xema-shell", "store", "biome", "connector", "kb", "agent", "memory", "model", "model-resolution", "mcp-tool", "workflow", "studio", "interactive-session", "agent-session", "document", "notification", "space", "mailops", "workspace", "worker-runtime", "artifact", "search"];
3
+ export type FirstPartyCapabilityDomain = (typeof FIRST_PARTY_CAPABILITY_DOMAINS)[number];
4
+ export declare const FirstPartyCapabilityDomainSchema: z.ZodEnum<{
5
+ search: "search";
6
+ kb: "kb";
7
+ memory: "memory";
8
+ agent: "agent";
9
+ studio: "studio";
10
+ "agent-session": "agent-session";
11
+ document: "document";
12
+ artifact: "artifact";
13
+ workflow: "workflow";
14
+ biome: "biome";
15
+ model: "model";
16
+ connector: "connector";
17
+ "xema-shell": "xema-shell";
18
+ store: "store";
19
+ "model-resolution": "model-resolution";
20
+ "mcp-tool": "mcp-tool";
21
+ "interactive-session": "interactive-session";
22
+ notification: "notification";
23
+ space: "space";
24
+ mailops: "mailops";
25
+ workspace: "workspace";
26
+ "worker-runtime": "worker-runtime";
27
+ }>;
28
+ export declare function isFirstPartyCapabilityDomain(domain: string): domain is FirstPartyCapabilityDomain;
29
+ //# sourceMappingURL=first-party-capability-domains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-party-capability-domains.d.ts","sourceRoot":"","sources":["../../../src/capability/lib/first-party-capability-domains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB,eAAO,MAAM,8BAA8B,6RAuBjC,CAAC;AAEX,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElD,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;EAK5C,CAAC;AAYF,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,GACb,MAAM,IAAI,0BAA0B,CAEtC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirstPartyCapabilityDomainSchema = exports.FIRST_PARTY_CAPABILITY_DOMAINS = void 0;
4
+ exports.isFirstPartyCapabilityDomain = isFirstPartyCapabilityDomain;
5
+ const zod_1 = require("zod");
6
+ exports.FIRST_PARTY_CAPABILITY_DOMAINS = [
7
+ 'xema-shell',
8
+ 'store',
9
+ 'biome',
10
+ 'connector',
11
+ 'kb',
12
+ 'agent',
13
+ 'memory',
14
+ 'model',
15
+ 'model-resolution',
16
+ 'mcp-tool',
17
+ 'workflow',
18
+ 'studio',
19
+ 'interactive-session',
20
+ 'agent-session',
21
+ 'document',
22
+ 'notification',
23
+ 'space',
24
+ 'mailops',
25
+ 'workspace',
26
+ 'worker-runtime',
27
+ 'artifact',
28
+ 'search',
29
+ ];
30
+ exports.FirstPartyCapabilityDomainSchema = zod_1.z.enum(exports.FIRST_PARTY_CAPABILITY_DOMAINS);
31
+ const FIRST_PARTY_CAPABILITY_DOMAIN_SET = new Set(exports.FIRST_PARTY_CAPABILITY_DOMAINS);
32
+ function isFirstPartyCapabilityDomain(domain) {
33
+ return FIRST_PARTY_CAPABILITY_DOMAIN_SET.has(domain);
34
+ }
35
+ //# sourceMappingURL=first-party-capability-domains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-party-capability-domains.js","sourceRoot":"","sources":["../../../src/capability/lib/first-party-capability-domains.ts"],"names":[],"mappings":";;;AAuEA,oEAIC;AA3ED,6BAAwB;AA0BX,QAAA,8BAA8B,GAAG;IAC5C,YAAY;IACZ,OAAO;IACP,OAAO;IACP,WAAW;IACX,IAAI;IACJ,OAAO;IACP,QAAQ;IACR,OAAO;IACP,kBAAkB;IAClB,UAAU;IACV,UAAU;IACV,QAAQ;IACR,qBAAqB;IACrB,eAAe;IACf,UAAU;IACV,cAAc;IACd,OAAO;IACP,SAAS;IACT,WAAW;IACX,gBAAgB;IAChB,UAAU;IACV,QAAQ;CACA,CAAC;AAKE,QAAA,gCAAgC,GAAG,OAAC,CAAC,IAAI,CACpD,sCAGC,CACF,CAAC;AAEF,MAAM,iCAAiC,GAAwB,IAAI,GAAG,CACpE,sCAA8B,CAC/B,CAAC;AAQF,SAAgB,4BAA4B,CAC1C,MAAc;IAEd,OAAO,iCAAiC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './lib/delegation-grant';
2
+ export * from './lib/delegation-chain';
3
+ export * from './lib/clamp-authority';
4
+ export * from './lib/execution-principal';
5
+ export * from './lib/app-invocation-identity';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/principal/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./lib/delegation-grant"), exports);
18
+ __exportStar(require("./lib/delegation-chain"), exports);
19
+ __exportStar(require("./lib/clamp-authority"), exports);
20
+ __exportStar(require("./lib/execution-principal"), exports);
21
+ __exportStar(require("./lib/app-invocation-identity"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/principal/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,yDAAuC;AACvC,wDAAsC;AACtC,4DAA0C;AAC1C,gEAA8C"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { type SubjectRef } from '../../subject';
3
+ export declare enum AppInvocationMode {
4
+ OnBehalfOfUser = "on-behalf-of-user",
5
+ AsApp = "as-app"
6
+ }
7
+ export declare const AppInvocationModeSchema: z.ZodEnum<typeof AppInvocationMode>;
8
+ export interface OnBehalfOfUserIdentity {
9
+ mode: AppInvocationMode.OnBehalfOfUser;
10
+ user: SubjectRef;
11
+ appId: string;
12
+ }
13
+ export interface AsAppIdentity {
14
+ mode: AppInvocationMode.AsApp;
15
+ appId: string;
16
+ }
17
+ export type AppInvocationIdentity = OnBehalfOfUserIdentity | AsAppIdentity;
18
+ export declare const OnBehalfOfUserIdentitySchema: z.ZodType<OnBehalfOfUserIdentity>;
19
+ export declare const AsAppIdentitySchema: z.ZodType<AsAppIdentity>;
20
+ export declare const AppInvocationIdentitySchema: z.ZodType<AppInvocationIdentity>;
21
+ export declare function resolveInvocationActor(identity: AppInvocationIdentity): SubjectRef;
22
+ //# sourceMappingURL=app-invocation-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-invocation-identity.d.ts","sourceRoot":"","sources":["../../../src/principal/lib/app-invocation-identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AAmBvB,oBAAY,iBAAiB;IAE3B,cAAc,sBAAsB;IAEpC,KAAK,WAAW;CACjB;AAED,eAAO,MAAM,uBAAuB,qCAAkC,CAAC;AAMvE,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,iBAAiB,CAAC,cAAc,CAAC;IAEvC,IAAI,EAAE,UAAU,CAAC;IAEjB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAE9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,GAAG,aAAa,CAAC;AAa3E,eAAO,MAAM,4BAA4B,EAChB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAE3D,eAAO,MAAM,mBAAmB,EAAiB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAE1E,eAAO,MAAM,2BAA2B,EAGlC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AASvC,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,qBAAqB,GAC9B,UAAU,CAOZ"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppInvocationIdentitySchema = exports.AsAppIdentitySchema = exports.OnBehalfOfUserIdentitySchema = exports.AppInvocationModeSchema = exports.AppInvocationMode = void 0;
4
+ exports.resolveInvocationActor = resolveInvocationActor;
5
+ const zod_1 = require("zod");
6
+ const subject_1 = require("../../subject");
7
+ var AppInvocationMode;
8
+ (function (AppInvocationMode) {
9
+ AppInvocationMode["OnBehalfOfUser"] = "on-behalf-of-user";
10
+ AppInvocationMode["AsApp"] = "as-app";
11
+ })(AppInvocationMode || (exports.AppInvocationMode = AppInvocationMode = {}));
12
+ exports.AppInvocationModeSchema = zod_1.z.nativeEnum(AppInvocationMode);
13
+ const onBehalfOfUserShape = zod_1.z.object({
14
+ mode: zod_1.z.literal(AppInvocationMode.OnBehalfOfUser),
15
+ user: subject_1.SubjectRefSchema,
16
+ appId: zod_1.z.string().min(1),
17
+ });
18
+ const asAppShape = zod_1.z.object({
19
+ mode: zod_1.z.literal(AppInvocationMode.AsApp),
20
+ appId: zod_1.z.string().min(1),
21
+ });
22
+ exports.OnBehalfOfUserIdentitySchema = onBehalfOfUserShape;
23
+ exports.AsAppIdentitySchema = asAppShape;
24
+ exports.AppInvocationIdentitySchema = zod_1.z.discriminatedUnion('mode', [
25
+ onBehalfOfUserShape,
26
+ asAppShape,
27
+ ]);
28
+ function resolveInvocationActor(identity) {
29
+ switch (identity.mode) {
30
+ case AppInvocationMode.OnBehalfOfUser:
31
+ return identity.user;
32
+ case AppInvocationMode.AsApp:
33
+ return { kind: subject_1.SubjectKind.App, id: identity.appId };
34
+ }
35
+ }
36
+ //# sourceMappingURL=app-invocation-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-invocation-identity.js","sourceRoot":"","sources":["../../../src/principal/lib/app-invocation-identity.ts"],"names":[],"mappings":";;;AAqFA,wDASC;AA9FD,6BAAwB;AACxB,2CAIuB;AAmBvB,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAE3B,yDAAoC,CAAA;IAEpC,qCAAgB,CAAA;AAClB,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B;AAEY,QAAA,uBAAuB,GAAG,OAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AA0BvE,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC;IACjD,IAAI,EAAE,0BAAgB;IACtB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1B,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC;IACxC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEU,QAAA,4BAA4B,GACvC,mBAAwD,CAAC;AAE9C,QAAA,mBAAmB,GAAG,UAAsC,CAAC;AAE7D,QAAA,2BAA2B,GAAG,OAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACtE,mBAAmB;IACnB,UAAU;CACX,CAAqC,CAAC;AASvC,SAAgB,sBAAsB,CACpC,QAA+B;IAE/B,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,iBAAiB,CAAC,cAAc;YACnC,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,KAAK,iBAAiB,CAAC,KAAK;YAC1B,OAAO,EAAE,IAAI,EAAE,qBAAW,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CapabilityRef } from '../../capability';
2
+ export declare function clampAuthority(executorGrants: ReadonlySet<CapabilityRef>, actorEffective: ReadonlySet<CapabilityRef>): Set<CapabilityRef>;
3
+ export declare function clampAuthorityChain(authoritySets: ReadonlyArray<ReadonlySet<CapabilityRef>>): Set<CapabilityRef>;
4
+ //# sourceMappingURL=clamp-authority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clamp-authority.d.ts","sourceRoot":"","sources":["../../../src/principal/lib/clamp-authority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA4BtD,wBAAgB,cAAc,CAC5B,cAAc,EAAE,WAAW,CAAC,aAAa,CAAC,EAC1C,cAAc,EAAE,WAAW,CAAC,aAAa,CAAC,GACzC,GAAG,CAAC,aAAa,CAAC,CAapB;AASD,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,GACvD,GAAG,CAAC,aAAa,CAAC,CAQpB"}