@kya-os/mcp-i 1.11.0 → 1.11.2

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.
@@ -4,7 +4,7 @@
4
4
  * Node.js-specific runtime that extends the core runtime with Node.js providers.
5
5
  * Provides backward compatibility by accepting legacy configuration format.
6
6
  */
7
- import { MCPIRuntimeBase, AccessControlApiService, ProofVerifier } from "@kya-os/mcp-i-core";
7
+ import { MCPIRuntimeBase, AccessControlApiService, ProofVerifier } from "@kya-os/mcp-i-runtime";
8
8
  import type { MCPIRuntimeConfig } from "./mcpi-runtime";
9
9
  /**
10
10
  * Node.js-specific runtime implementation
@@ -11,7 +11,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MCPIRuntimeWrapper = exports.MCPINodeRuntimeWrapper = void 0;
13
13
  exports.createMCPIRuntime = createMCPIRuntime;
14
- const mcp_i_core_1 = require("@kya-os/mcp-i-core");
14
+ const mcp_i_runtime_1 = require("@kya-os/mcp-i-runtime");
15
15
  const node_providers_1 = require("../providers/node-providers");
16
16
  const path_1 = __importDefault(require("path"));
17
17
  /**
@@ -56,7 +56,7 @@ function createProvidersFromConfig(config) {
56
56
  /**
57
57
  * Node.js-specific runtime implementation
58
58
  */
59
- class MCPINodeRuntimeWrapper extends mcp_i_core_1.MCPIRuntimeBase {
59
+ class MCPINodeRuntimeWrapper extends mcp_i_runtime_1.MCPIRuntimeBase {
60
60
  legacyConfig;
61
61
  // accessControlService is inherited from MCPIRuntimeBase (protected), no need to redeclare
62
62
  // proofVerifier is inherited from MCPIRuntimeBase (protected), no need to redeclare
@@ -66,7 +66,7 @@ class MCPINodeRuntimeWrapper extends mcp_i_core_1.MCPIRuntimeBase {
66
66
  this.legacyConfig = config;
67
67
  // Instantiate ProofVerifier
68
68
  // Access protected property from base class using type assertion
69
- this.proofVerifier = new mcp_i_core_1.ProofVerifier({
69
+ this.proofVerifier = new mcp_i_runtime_1.ProofVerifier({
70
70
  cryptoProvider: coreConfig.cryptoProvider,
71
71
  clockProvider: coreConfig.clockProvider,
72
72
  nonceCacheProvider: coreConfig.nonceCacheProvider,
@@ -77,7 +77,7 @@ class MCPINodeRuntimeWrapper extends mcp_i_core_1.MCPIRuntimeBase {
77
77
  const apiKey = process.env.AGENTSHIELD_API_KEY;
78
78
  const apiUrl = process.env.AGENTSHIELD_API_URL || "https://kya.vouched.id";
79
79
  if (apiKey) {
80
- this.accessControlService = new mcp_i_core_1.AccessControlApiService({
80
+ this.accessControlService = new mcp_i_runtime_1.AccessControlApiService({
81
81
  baseUrl: apiUrl,
82
82
  apiKey,
83
83
  fetchProvider: coreConfig.fetchProvider,
@@ -22,6 +22,7 @@ const request_context_1 = require("./request-context");
22
22
  const outbound_identity_bridge_1 = require("./outbound-identity-bridge");
23
23
  const tool_protection_1 = require("./tool-protection");
24
24
  const tool_protection_registry_1 = require("./tool-protection-registry");
25
+ // C4 drain: delegation-layer symbol stays on @kya-os/mcp-i-core (src/delegation/** not relocated to mcp-i-runtime - pinned by E3.5 #2904).
25
26
  const mcp_i_core_1 = require("@kya-os/mcp-i-core");
26
27
  /**
27
28
  * XMCP-I Runtime class
@@ -21,6 +21,7 @@
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.isInternalDelegationTarget = isInternalDelegationTarget;
23
23
  exports.installDelegationInterceptor = installDelegationInterceptor;
24
+ // C4 drain: delegation-layer symbol stays on @kya-os/mcp-i-core (src/delegation/** not relocated to mcp-i-runtime - pinned by E3.5 #2904).
24
25
  const mcp_i_core_1 = require("@kya-os/mcp-i-core");
25
26
  // C2/C3: @kya-os/mcp-i is CJS; @kya-os/mcp is ESM-only (TS1479 blocks static import).
26
27
  const request_context_js_1 = require("./request-context.js");
@@ -57,6 +57,10 @@ function delegationProvider() {
57
57
  const delegationScopes = ctx.delegationScopes ?? [];
58
58
  const agentDid = ctx.session?.serverDid ?? "";
59
59
  const userDid = ctx.session?.userDid ?? "";
60
+ // Surface the calling client's DID (xmcp-i#413) so the compute interceptor
61
+ // can attach it to KTA attestations. Spread conditionally below so the field
62
+ // is absent (not `undefined`) when the session carries no client identity.
63
+ const clientDid = ctx.session?.clientDid;
60
64
  const privateKeyJwk = ctx.delegationPrivateKeyJwk;
61
65
  const kid = ctx.delegationAgentKid;
62
66
  const delegationRef = ctx.delegationRef;
@@ -66,6 +70,7 @@ function delegationProvider() {
66
70
  delegationScopes,
67
71
  agentDid,
68
72
  userDid,
73
+ ...(clientDid ? { clientDid } : {}),
69
74
  kid,
70
75
  delegationCredential: ctx.delegationCredential,
71
76
  buildProof: (targetHostname) => (0, mcp_i_core_1.buildDelegationProofJWT)({
@@ -7,8 +7,8 @@
7
7
  *
8
8
  * Requirements: 5.1, 5.2, 5.3, 5.6
9
9
  */
10
- import { ProofGenerator as CoreProofGenerator, type ProofAgentIdentity, type ToolRequest, type ToolResponse, type ProofOptions, extractCanonicalData } from "@kya-os/mcp-i-core";
11
- import { CryptoProvider } from "@kya-os/mcp-i-core";
10
+ import { ProofGenerator as CoreProofGenerator, type ProofAgentIdentity, type ToolRequest, type ToolResponse, type ProofOptions, extractCanonicalData } from "@kya-os/mcp-i-runtime";
11
+ import { CryptoProvider } from "@kya-os/mcp-i-runtime";
12
12
  import { SessionContext } from "@kya-os/contracts/handshake";
13
13
  export declare class ProofGenerator extends CoreProofGenerator {
14
14
  constructor(identity: ProofAgentIdentity, cryptoProvider?: CryptoProvider);
@@ -11,10 +11,10 @@
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.extractCanonicalData = exports.ProofGenerator = void 0;
13
13
  exports.createProofResponse = createProofResponse;
14
- const mcp_i_core_1 = require("@kya-os/mcp-i-core");
15
- Object.defineProperty(exports, "extractCanonicalData", { enumerable: true, get: function () { return mcp_i_core_1.extractCanonicalData; } });
14
+ const mcp_i_runtime_1 = require("@kya-os/mcp-i-runtime");
15
+ Object.defineProperty(exports, "extractCanonicalData", { enumerable: true, get: function () { return mcp_i_runtime_1.extractCanonicalData; } });
16
16
  const node_providers_1 = require("../providers/node-providers");
17
- class ProofGenerator extends mcp_i_core_1.ProofGenerator {
17
+ class ProofGenerator extends mcp_i_runtime_1.ProofGenerator {
18
18
  constructor(identity, cryptoProvider = new node_providers_1.NodeCryptoProvider()) {
19
19
  super(identity, cryptoProvider);
20
20
  }
@@ -7,8 +7,8 @@
7
7
  *
8
8
  * Requirements: 4.5-4.9, 19.1-19.2
9
9
  */
10
- import { SessionManager as CoreSessionManager, createHandshakeRequest, validateHandshakeFormat, type SessionConfig, type HandshakeResult } from "@kya-os/mcp-i-core";
11
- import { CryptoProvider } from "@kya-os/mcp-i-core";
10
+ import { SessionManager as CoreSessionManager, createHandshakeRequest, validateHandshakeFormat, type SessionConfig, type HandshakeResult } from "@kya-os/mcp-i-runtime";
11
+ import { CryptoProvider } from "@kya-os/mcp-i-runtime";
12
12
  export type { SessionConfig, HandshakeResult };
13
13
  export { createHandshakeRequest, validateHandshakeFormat };
14
14
  export declare class SessionManager extends CoreSessionManager {
@@ -10,10 +10,10 @@
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.defaultSessionManager = exports.SessionManager = exports.validateHandshakeFormat = exports.createHandshakeRequest = void 0;
13
- const mcp_i_core_1 = require("@kya-os/mcp-i-core");
14
- Object.defineProperty(exports, "createHandshakeRequest", { enumerable: true, get: function () { return mcp_i_core_1.createHandshakeRequest; } });
15
- Object.defineProperty(exports, "validateHandshakeFormat", { enumerable: true, get: function () { return mcp_i_core_1.validateHandshakeFormat; } });
16
- const mcp_i_core_2 = require("@kya-os/mcp-i-core");
13
+ const mcp_i_runtime_1 = require("@kya-os/mcp-i-runtime");
14
+ Object.defineProperty(exports, "createHandshakeRequest", { enumerable: true, get: function () { return mcp_i_runtime_1.createHandshakeRequest; } });
15
+ Object.defineProperty(exports, "validateHandshakeFormat", { enumerable: true, get: function () { return mcp_i_runtime_1.validateHandshakeFormat; } });
16
+ const mcp_i_runtime_2 = require("@kya-os/mcp-i-runtime");
17
17
  // C2 (#2916): the CJS/ESM (TS1479) blocker is resolved — PR-0's loadDifCore()
18
18
  // seam (mcp-i-core/src/runtime/dif-core.ts) reaches the ESM-only @kya-os/mcp from
19
19
  // CJS. The SessionManager re-home stays deferred on the remaining blocker: DIF
@@ -34,9 +34,9 @@ function resolveNodeConfig(config) {
34
34
  (parsedTtl !== undefined && !isNaN(parsedTtl) ? parsedTtl : undefined),
35
35
  };
36
36
  }
37
- class SessionManager extends mcp_i_core_1.SessionManager {
37
+ class SessionManager extends mcp_i_runtime_1.SessionManager {
38
38
  constructor(configOrCrypto, config) {
39
- if (configOrCrypto instanceof mcp_i_core_2.CryptoProvider) {
39
+ if (configOrCrypto instanceof mcp_i_runtime_2.CryptoProvider) {
40
40
  super(configOrCrypto, resolveNodeConfig(config ?? {}));
41
41
  }
42
42
  else {