@xemahq/kernel-contracts 0.20.0 → 0.22.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 (31) hide show
  1. package/dist/agent-composition/index.d.ts +1 -0
  2. package/dist/agent-composition/index.d.ts.map +1 -1
  3. package/dist/agent-composition/index.js +1 -0
  4. package/dist/agent-composition/index.js.map +1 -1
  5. package/dist/agent-composition/lib/agent-workspace-sharing.d.ts +6 -0
  6. package/dist/agent-composition/lib/agent-workspace-sharing.d.ts.map +1 -0
  7. package/dist/agent-composition/lib/agent-workspace-sharing.js +10 -0
  8. package/dist/agent-composition/lib/agent-workspace-sharing.js.map +1 -0
  9. package/dist/agent-composition/lib/agent.d.ts +3 -0
  10. package/dist/agent-composition/lib/agent.d.ts.map +1 -1
  11. package/dist/agent-composition/lib/agent.js.map +1 -1
  12. package/dist/agent-session/index.d.ts +1 -0
  13. package/dist/agent-session/index.d.ts.map +1 -1
  14. package/dist/agent-session/index.js +1 -0
  15. package/dist/agent-session/index.js.map +1 -1
  16. package/dist/agent-session/lib/participant.d.ts +8 -0
  17. package/dist/agent-session/lib/participant.d.ts.map +1 -0
  18. package/dist/agent-session/lib/participant.js +12 -0
  19. package/dist/agent-session/lib/participant.js.map +1 -0
  20. package/dist/agent-workspace/awp-spec.json +1 -1
  21. package/dist/execution-context/lib/execution-context.d.ts +2 -0
  22. package/dist/execution-context/lib/execution-context.d.ts.map +1 -1
  23. package/dist/execution-context/lib/execution-context.js +2 -0
  24. package/dist/execution-context/lib/execution-context.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/agent-composition/index.ts +1 -0
  27. package/src/agent-composition/lib/agent-workspace-sharing.ts +43 -0
  28. package/src/agent-composition/lib/agent.ts +17 -0
  29. package/src/agent-session/index.ts +1 -0
  30. package/src/agent-session/lib/participant.ts +31 -0
  31. package/src/execution-context/lib/execution-context.ts +15 -0
@@ -1,6 +1,7 @@
1
1
  export * from './lib/capability-layer';
2
2
  export * from './lib/agent';
3
3
  export * from './lib/agent-reach-tier';
4
+ export * from './lib/agent-workspace-sharing';
4
5
  export * from './lib/agent-limits-schema';
5
6
  export * from './lib/agent-workspace-config';
6
7
  export * from './lib/intrinsic-floor';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent-composition/index.ts"],"names":[],"mappings":"AAWA,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent-composition/index.ts"],"names":[],"mappings":"AAWA,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC"}
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./lib/capability-layer"), exports);
18
18
  __exportStar(require("./lib/agent"), exports);
19
19
  __exportStar(require("./lib/agent-reach-tier"), exports);
20
+ __exportStar(require("./lib/agent-workspace-sharing"), exports);
20
21
  __exportStar(require("./lib/agent-limits-schema"), exports);
21
22
  __exportStar(require("./lib/agent-workspace-config"), exports);
22
23
  __exportStar(require("./lib/intrinsic-floor"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-composition/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAWA,yDAAuC;AACvC,8CAA4B;AAC5B,yDAAuC;AACvC,4DAA0C;AAC1C,+DAA6C;AAC7C,wDAAsC;AACtC,2DAAyC;AACzC,gEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-composition/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAWA,yDAAuC;AACvC,8CAA4B;AAC5B,yDAAuC;AACvC,gEAA8C;AAC9C,4DAA0C;AAC1C,+DAA6C;AAC7C,wDAAsC;AACtC,2DAAyC;AACzC,gEAA8C"}
@@ -0,0 +1,6 @@
1
+ export declare enum WorkspaceSharingPolicy {
2
+ Isolated = "isolated",
3
+ Shareable = "shareable"
4
+ }
5
+ export declare const WORKSPACE_SHARING_DEFAULT: WorkspaceSharingPolicy;
6
+ //# sourceMappingURL=agent-workspace-sharing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-workspace-sharing.d.ts","sourceRoot":"","sources":["../../../src/agent-composition/lib/agent-workspace-sharing.ts"],"names":[],"mappings":"AAoBA,oBAAY,sBAAsB;IAMhC,QAAQ,aAAa;IAOrB,SAAS,cAAc;CACxB;AAOD,eAAO,MAAM,yBAAyB,EAAE,sBACP,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WORKSPACE_SHARING_DEFAULT = exports.WorkspaceSharingPolicy = void 0;
4
+ var WorkspaceSharingPolicy;
5
+ (function (WorkspaceSharingPolicy) {
6
+ WorkspaceSharingPolicy["Isolated"] = "isolated";
7
+ WorkspaceSharingPolicy["Shareable"] = "shareable";
8
+ })(WorkspaceSharingPolicy || (exports.WorkspaceSharingPolicy = WorkspaceSharingPolicy = {}));
9
+ exports.WORKSPACE_SHARING_DEFAULT = WorkspaceSharingPolicy.Isolated;
10
+ //# sourceMappingURL=agent-workspace-sharing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-workspace-sharing.js","sourceRoot":"","sources":["../../../src/agent-composition/lib/agent-workspace-sharing.ts"],"names":[],"mappings":";;;AAoBA,IAAY,sBAcX;AAdD,WAAY,sBAAsB;IAMhC,+CAAqB,CAAA;IAOrB,iDAAuB,CAAA;AACzB,CAAC,EAdW,sBAAsB,sCAAtB,sBAAsB,QAcjC;AAOY,QAAA,yBAAyB,GACpC,sBAAsB,CAAC,QAAQ,CAAC"}
@@ -5,6 +5,7 @@ import type { BiomeAvailabilityScoped } from '../../biome-availability';
5
5
  import type { CapabilityLayer } from './capability-layer';
6
6
  import type { AgentWorkspaceConfig } from './agent-workspace-config';
7
7
  import type { AgentReachTier } from './agent-reach-tier';
8
+ import type { WorkspaceSharingPolicy } from './agent-workspace-sharing';
8
9
  export interface AgentKernelRef {
9
10
  readonly slug: string;
10
11
  readonly version?: string;
@@ -46,6 +47,7 @@ export interface Agent {
46
47
  readonly root: AgentNode;
47
48
  readonly capability?: CapabilityLayer;
48
49
  readonly workspace?: AgentWorkspaceConfig;
50
+ readonly workspaceSharing?: WorkspaceSharingPolicy;
49
51
  }
50
52
  export interface ResolvedAgentNode extends NodeOverlayFragment, BiomeAvailabilityScoped {
51
53
  readonly kernel: Required<AgentKernelRef>;
@@ -63,5 +65,6 @@ export interface ResolvedAgent {
63
65
  readonly root: ResolvedAgentNode;
64
66
  readonly capability: CapabilityLayer;
65
67
  readonly workspace?: AgentWorkspaceConfig;
68
+ readonly workspaceSharing?: WorkspaceSharingPolicy;
66
69
  }
67
70
  //# sourceMappingURL=agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/agent-composition/lib/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/agent-composition/lib/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent-composition/lib/agent.ts"],"names":[],"mappings":";;;AAsCA,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,yBAAW,CAAA;IACX,iCAAmB,CAAA;IACnB,2BAAa,CAAA;AACf,CAAC,EANW,UAAU,0BAAV,UAAU,QAMrB;AAQD,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,yCAAuB,CAAA;IACvB,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent-composition/lib/agent.ts"],"names":[],"mappings":";;;AAuCA,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,yBAAW,CAAA;IACX,iCAAmB,CAAA;IACnB,2BAAa,CAAA;AACf,CAAC,EANW,UAAU,0BAAV,UAAU,QAMrB;AAQD,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,yCAAuB,CAAA;IACvB,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB"}
@@ -1,2 +1,3 @@
1
1
  export * from './lib/lifecycle';
2
+ export * from './lib/participant';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent-session/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent-session/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./lib/lifecycle"), exports);
18
+ __exportStar(require("./lib/participant"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-session/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-session/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,oDAAkC"}
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ export declare enum SessionParticipantRole {
3
+ Owner = "owner",
4
+ Editor = "editor",
5
+ Viewer = "viewer"
6
+ }
7
+ export declare const SessionParticipantRoleSchema: z.ZodEnum<typeof SessionParticipantRole>;
8
+ //# sourceMappingURL=participant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"participant.d.ts","sourceRoot":"","sources":["../../../src/agent-session/lib/participant.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,oBAAY,sBAAsB;IAEhC,KAAK,UAAU;IAEf,MAAM,WAAW;IAEjB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,4BAA4B,0CAAuC,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SessionParticipantRoleSchema = exports.SessionParticipantRole = void 0;
4
+ const zod_1 = require("zod");
5
+ var SessionParticipantRole;
6
+ (function (SessionParticipantRole) {
7
+ SessionParticipantRole["Owner"] = "owner";
8
+ SessionParticipantRole["Editor"] = "editor";
9
+ SessionParticipantRole["Viewer"] = "viewer";
10
+ })(SessionParticipantRole || (exports.SessionParticipantRole = SessionParticipantRole = {}));
11
+ exports.SessionParticipantRoleSchema = zod_1.z.nativeEnum(SessionParticipantRole);
12
+ //# sourceMappingURL=participant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"participant.js","sourceRoot":"","sources":["../../../src/agent-session/lib/participant.ts"],"names":[],"mappings":";;;AAeA,6BAAwB;AAMxB,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAEhC,yCAAe,CAAA;IAEf,2CAAiB,CAAA;IAEjB,2CAAiB,CAAA;AACnB,CAAC,EAPW,sBAAsB,sCAAtB,sBAAsB,QAOjC;AAEY,QAAA,4BAA4B,GAAG,OAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://xema.dev/schemas/awp-spec.v1.json",
3
- "emittedAt": "2026-06-28T12:57:15.829Z",
3
+ "emittedAt": "2026-06-29T09:35:56.778Z",
4
4
  "spec": {
5
5
  "id": "awp/v1",
6
6
  "version": "1.2.0",
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { AgentReachTier } from '../../agent-composition';
3
+ import { SessionParticipantRole } from '../../agent-session';
3
4
  import { type CapabilityRef } from '../../capability';
4
5
  import { ExecutionEnvironmentKind } from '../../execution-environment';
5
6
  import { DataClassification, type SpaceRef } from '../../space';
@@ -57,6 +58,7 @@ export interface ExecutionContext {
57
58
  actorChain?: ActingForRef[];
58
59
  credentialBindingId?: string;
59
60
  reachTier?: AgentReachTier;
61
+ participantRole?: SessionParticipantRole;
60
62
  }
61
63
  export declare const ExecutionContextSchema: z.ZodType<ExecutionContext>;
62
64
  //# sourceMappingURL=execution-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../../../src/execution-context/lib/execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,cAAc,EAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,wBAAwB,EAEzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kBAAkB,EAGlB,KAAK,QAAQ,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,UAAU,EAChB,MAAM,WAAW,CAAC;AAWnB,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,eAAO,MAAM,oBAAoB,kCAA+B,CAAC;AAQjE,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,cAAc,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAKlC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAavC,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,wBAAwB,CAAC;CAChC;AAED,eAAO,MAAM,iCAAiC,EAGxC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAW7C,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,aAAa,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gCAAgC,EAGvC,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAW5C,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,eAAO,MAAM,8BAA8B,EAGrC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAc1C,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,iCAAiC,EAMxC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAa7C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,2BAA2B,CAAC;IACzC,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,UAAU,EAAE,0BAA0B,CAAC;IACvC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAO1C,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAO5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAQ7B,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED,eAAO,MAAM,sBAAsB,EAe7B,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../../../src/execution-context/lib/execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,cAAc,EAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EAEvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,wBAAwB,EAEzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kBAAkB,EAGlB,KAAK,QAAQ,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,UAAU,EAChB,MAAM,WAAW,CAAC;AAWnB,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,eAAO,MAAM,oBAAoB,kCAA+B,CAAC;AAQjE,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,cAAc,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAKlC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAavC,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,wBAAwB,CAAC;CAChC;AAED,eAAO,MAAM,iCAAiC,EAGxC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAW7C,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,aAAa,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gCAAgC,EAGvC,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAW5C,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,eAAO,MAAM,8BAA8B,EAGrC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAc1C,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,iCAAiC,EAMxC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAa7C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,2BAA2B,CAAC;IACzC,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,UAAU,EAAE,0BAA0B,CAAC;IACvC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAO1C,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAO5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAQ7B,SAAS,CAAC,EAAE,cAAc,CAAC;IAU3B,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED,eAAO,MAAM,sBAAsB,EAgB7B,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExecutionContextSchema = exports.ExecutionContextConstraintsSchema = exports.ExecutionContextResourceSchema = exports.ExecutionContextCapabilitySchema = exports.ExecutionContextEnvironmentSchema = exports.ExecutionContextBiomeSchema = exports.BiomeTrustTierSchema = exports.BiomeTrustTier = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const agent_composition_1 = require("../../agent-composition");
6
+ const agent_session_1 = require("../../agent-session");
6
7
  const capability_1 = require("../../capability");
7
8
  const execution_environment_1 = require("../../execution-environment");
8
9
  const space_1 = require("../../space");
@@ -56,5 +57,6 @@ exports.ExecutionContextSchema = zod_1.z.object({
56
57
  actorChain: zod_1.z.array(subject_1.ActingForRefSchema).optional(),
57
58
  credentialBindingId: zod_1.z.string().min(1).optional(),
58
59
  reachTier: agent_composition_1.AgentReachTierSchema.optional(),
60
+ participantRole: agent_session_1.SessionParticipantRoleSchema.optional(),
59
61
  });
60
62
  //# sourceMappingURL=execution-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-context.js","sourceRoot":"","sources":["../../../src/execution-context/lib/execution-context.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,+DAGiC;AACjC,iDAG0B;AAC1B,uEAGqC;AACrC,uCAKqB;AACrB,qCAAqD;AACrD,uCAKmB;AAWnB,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;IACrB,yCAAuB,CAAA;IACvB,yCAAuB,CAAA;AACzB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAEY,QAAA,oBAAoB,GAAG,OAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAepD,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,SAAS,EAAE,4BAAoB;IAC/B,iBAAiB,EAAE,OAAC,CAAC,OAAO,EAAE;CAC/B,CAAqC,CAAC;AAkB1B,QAAA,iCAAiC,GAAG,OAAC,CAAC,MAAM,CAAC;IACxD,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,sDAA8B;CACrC,CAA2C,CAAC;AAgBhC,QAAA,gCAAgC,GAAG,OAAC,CAAC,MAAM,CAAC;IACvD,GAAG,EAAE,gCAAmB;IACxB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACxC,CAA0C,CAAC;AAgB/B,QAAA,8BAA8B,GAAG,OAAC,CAAC,MAAM,CAAC;IACrD,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,cAAc,EAAE,gCAAwB;CACzC,CAAwC,CAAC;AAsB7B,QAAA,iCAAiC,GAAG,OAAC,CAAC,MAAM,CAAC;IACxD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC/C,kBAAkB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC7D,eAAe,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,mBAAmB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAA2C,CAAC;AAiDhC,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,0BAAgB;IACzB,MAAM,EAAE,qBAAY;IACpB,KAAK,EAAE,sBAAc;IACrB,WAAW,EAAE,yCAAiC;IAC9C,KAAK,EAAE,mCAA2B,CAAC,QAAQ,EAAE;IAC7C,UAAU,EAAE,wCAAgC;IAC5C,QAAQ,EAAE,sCAA8B,CAAC,QAAQ,EAAE;IACnD,WAAW,EAAE,yCAAiC,CAAC,QAAQ,EAAE;IACzD,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,4BAAkB,CAAC,CAAC,QAAQ,EAAE;IAClD,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjD,SAAS,EAAE,wCAAoB,CAAC,QAAQ,EAAE;CAC3C,CAAgC,CAAC"}
1
+ {"version":3,"file":"execution-context.js","sourceRoot":"","sources":["../../../src/execution-context/lib/execution-context.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xemahq/kernel-contracts",
3
- "version": "0.20.0",
3
+ "version": "0.22.0",
4
4
  "description": "Consolidated Xema OS kernel wire contracts — pure types + zod schemas for the 32 kernel protocol surfaces. One package, one npm scope, wildcard per-surface subpath exports. No framework/runtime deps.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/",
@@ -12,6 +12,7 @@
12
12
  export * from './lib/capability-layer';
13
13
  export * from './lib/agent';
14
14
  export * from './lib/agent-reach-tier';
15
+ export * from './lib/agent-workspace-sharing';
15
16
  export * from './lib/agent-limits-schema';
16
17
  export * from './lib/agent-workspace-config';
17
18
  export * from './lib/intrinsic-floor';
@@ -0,0 +1,43 @@
1
+ // ═══════════════════════════════════════════════════════════════════════════
2
+ // ── Agent Workspace-Sharing Policy ──
3
+ //
4
+ // Declares whether a session running an agent may POOL onto a compatible,
5
+ // already-running worker pod as an additional thread, or must always run in
6
+ // its own isolated environment.
7
+ //
8
+ // Context: a Session is one worker pod + one `/workspace` PVC; a Thread is one
9
+ // conversation on it. The system prompt, skills and tools are baked into the
10
+ // pod at boot (content-hashed by the orchestrator's `bundleFingerprint`), so
11
+ // two launches can only share a pod when that fingerprint is identical. AND
12
+ // because all threads share the one `/workspace` filesystem, only
13
+ // workspace-stateless / chat-style agents are safe to co-locate — an agent
14
+ // that clones and mutates a repo MUST stay isolated.
15
+ // ═══════════════════════════════════════════════════════════════════════════
16
+
17
+ /**
18
+ * Whether a launch of an agent may attach as a new thread on a compatible
19
+ * running session pod, or must always allocate its own pod. Closed set.
20
+ */
21
+ export enum WorkspaceSharingPolicy {
22
+ /**
23
+ * Always allocate a dedicated worker pod; never pool onto an existing
24
+ * session. The safe default for any agent that mutates `/workspace`
25
+ * (repo clone + branch + commit) or whose isolation is otherwise required.
26
+ */
27
+ Isolated = 'isolated',
28
+ /**
29
+ * May attach as a new thread on an already-running session whose
30
+ * `bundleFingerprint` matches (same composition, skills, tools, config) and
31
+ * that belongs to the same owner/project. Only safe for workspace-stateless
32
+ * / chat-style agents.
33
+ */
34
+ Shareable = 'shareable',
35
+ }
36
+
37
+ /**
38
+ * The fail-safe default applied — explicitly, never silently — at every site
39
+ * that reads {@link WorkspaceSharingPolicy} off an agent that did not declare
40
+ * one. `isolated` guarantees a pod is shared ONLY when the author has opted in.
41
+ */
42
+ export const WORKSPACE_SHARING_DEFAULT: WorkspaceSharingPolicy =
43
+ WorkspaceSharingPolicy.Isolated;
@@ -21,6 +21,7 @@ import type { BiomeAvailabilityScoped } from '../../biome-availability';
21
21
  import type { CapabilityLayer } from './capability-layer';
22
22
  import type { AgentWorkspaceConfig } from './agent-workspace-config';
23
23
  import type { AgentReachTier } from './agent-reach-tier';
24
+ import type { WorkspaceSharingPolicy } from './agent-workspace-sharing';
24
25
 
25
26
  /**
26
27
  * A stable reference to an agent definition, optionally version-pinned.
@@ -163,6 +164,15 @@ export interface Agent {
163
164
  * `WorkspaceManifest`.
164
165
  */
165
166
  readonly workspace?: AgentWorkspaceConfig;
167
+ /**
168
+ * Whether a launch of this agent may POOL onto a compatible running session
169
+ * pod as a new thread, or must always run in its own isolated environment.
170
+ * OPTIONAL + additive: absent ⇒ {@link WORKSPACE_SHARING_DEFAULT}
171
+ * (`isolated`), applied explicitly at every read site — a pod is shared ONLY
172
+ * when the author opted in. Mark `shareable` only for workspace-stateless /
173
+ * chat-style agents; see {@link WorkspaceSharingPolicy}.
174
+ */
175
+ readonly workspaceSharing?: WorkspaceSharingPolicy;
166
176
  }
167
177
 
168
178
  /**
@@ -220,4 +230,11 @@ export interface ResolvedAgent {
220
230
  * workspace pipeline projects this onto the run's `WorkspaceSpec`.
221
231
  */
222
232
  readonly workspace?: AgentWorkspaceConfig;
233
+ /**
234
+ * Resolved workspace-sharing policy — carried from the source `Agent` so
235
+ * the session placement layer (agent-session-api) can decide pooling
236
+ * without re-fetching the definition. Absent ⇒ {@link WORKSPACE_SHARING_DEFAULT}
237
+ * (`isolated`), applied explicitly at the read site.
238
+ */
239
+ readonly workspaceSharing?: WorkspaceSharingPolicy;
223
240
  }
@@ -1 +1,2 @@
1
1
  export * from './lib/lifecycle';
2
+ export * from './lib/participant';
@@ -0,0 +1,31 @@
1
+ // ═══════════════════════════════════════════════════════════════════════════
2
+ // ── Agent-session participant role — SINGLE SOURCE OF TRUTH ──
3
+ //
4
+ // The closed role a `SessionParticipant` holds within an agent session
5
+ // (Phase E multi-user sessions). This is the canonical Layer-0 contract that
6
+ // the persistence enum (agent-session-api Prisma `ParticipantRole`), the
7
+ // MCP bridge-token `participantRole` claim (`@xemahq/platform-common`), and
8
+ // the kernel `ExecutionContext.participantRole` PDP pass-through ALL derive
9
+ // from. Prisma cannot import a TS value, so its schema re-declares the same
10
+ // members; the values MUST stay member-identical.
11
+ //
12
+ // Precedence (`owner > editor > viewer`): `owner` is the session creator (one
13
+ // per session, full control), `editor` may post turns, `viewer` may only read.
14
+ // ═══════════════════════════════════════════════════════════════════════════
15
+
16
+ import { z } from 'zod';
17
+
18
+ /**
19
+ * Role of a session participant. Closed set — value-identical to the
20
+ * persisted `participant_role` Prisma enum in agent-session-api.
21
+ */
22
+ export enum SessionParticipantRole {
23
+ /** Session creator — one per session, full control. */
24
+ Owner = 'owner',
25
+ /** May post turns + mutate session state. */
26
+ Editor = 'editor',
27
+ /** Read-only access to the session transcript. */
28
+ Viewer = 'viewer',
29
+ }
30
+
31
+ export const SessionParticipantRoleSchema = z.nativeEnum(SessionParticipantRole);
@@ -3,6 +3,10 @@ import {
3
3
  AgentReachTier,
4
4
  AgentReachTierSchema,
5
5
  } from '../../agent-composition';
6
+ import {
7
+ SessionParticipantRole,
8
+ SessionParticipantRoleSchema,
9
+ } from '../../agent-session';
6
10
  import {
7
11
  CapabilityRefSchema,
8
12
  type CapabilityRef,
@@ -195,6 +199,16 @@ export interface ExecutionContext {
195
199
  * amplify (see {@link AgentReachTier}).
196
200
  */
197
201
  reachTier?: AgentReachTier;
202
+ /**
203
+ * The session-participant role the acting subject holds in the originating
204
+ * agent session ({@link SessionParticipantRole}), stamped by the capability
205
+ * gateway from the verified MCP bridge-token claim (AUTH-B6.1). Carries the
206
+ * participant's role to the PDP so policy can attenuate the verdict by role
207
+ * (e.g. a `viewer` may discover but not invoke side-effecting capabilities).
208
+ * Absent for non-session invocations (workflow steps, service calls) ⇒ no
209
+ * role constraint, byte-identical to the pre-B6.1 verdict.
210
+ */
211
+ participantRole?: SessionParticipantRole;
198
212
  }
199
213
 
200
214
  export const ExecutionContextSchema = z.object({
@@ -212,4 +226,5 @@ export const ExecutionContextSchema = z.object({
212
226
  actorChain: z.array(ActingForRefSchema).optional(),
213
227
  credentialBindingId: z.string().min(1).optional(),
214
228
  reachTier: AgentReachTierSchema.optional(),
229
+ participantRole: SessionParticipantRoleSchema.optional(),
215
230
  }) as z.ZodType<ExecutionContext>;