@xemahq/kernel-contracts 0.20.0 → 0.21.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.
@@ -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,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-29T08:34:35.782Z",
4
4
  "spec": {
5
5
  "id": "awp/v1",
6
6
  "version": "1.2.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xemahq/kernel-contracts",
3
- "version": "0.20.0",
3
+ "version": "0.21.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
  }