@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.
- package/dist/agent-composition/index.d.ts +1 -0
- package/dist/agent-composition/index.d.ts.map +1 -1
- package/dist/agent-composition/index.js +1 -0
- package/dist/agent-composition/index.js.map +1 -1
- package/dist/agent-composition/lib/agent-workspace-sharing.d.ts +6 -0
- package/dist/agent-composition/lib/agent-workspace-sharing.d.ts.map +1 -0
- package/dist/agent-composition/lib/agent-workspace-sharing.js +10 -0
- package/dist/agent-composition/lib/agent-workspace-sharing.js.map +1 -0
- package/dist/agent-composition/lib/agent.d.ts +3 -0
- package/dist/agent-composition/lib/agent.d.ts.map +1 -1
- package/dist/agent-composition/lib/agent.js.map +1 -1
- package/dist/agent-session/index.d.ts +1 -0
- package/dist/agent-session/index.d.ts.map +1 -1
- package/dist/agent-session/index.js +1 -0
- package/dist/agent-session/index.js.map +1 -1
- package/dist/agent-session/lib/participant.d.ts +8 -0
- package/dist/agent-session/lib/participant.d.ts.map +1 -0
- package/dist/agent-session/lib/participant.js +12 -0
- package/dist/agent-session/lib/participant.js.map +1 -0
- package/dist/agent-workspace/awp-spec.json +1 -1
- package/dist/execution-context/lib/execution-context.d.ts +2 -0
- package/dist/execution-context/lib/execution-context.d.ts.map +1 -1
- package/dist/execution-context/lib/execution-context.js +2 -0
- package/dist/execution-context/lib/execution-context.js.map +1 -1
- package/package.json +1 -1
- package/src/agent-composition/index.ts +1 -0
- package/src/agent-composition/lib/agent-workspace-sharing.ts +43 -0
- package/src/agent-composition/lib/agent.ts +17 -0
- package/src/agent-session/index.ts +1 -0
- package/src/agent-session/lib/participant.ts +31 -0
- 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 @@
|
|
|
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":"AAgBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
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":";;;
|
|
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 +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,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;
|
|
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;
|
|
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.
|
|
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
|
}
|
|
@@ -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>;
|