@kya-os/mcp-i-cloudflare 1.6.21-canary.clientinfo.20251126130107 → 1.6.21
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/adapter.d.ts.map +1 -1
- package/dist/adapter.js +86 -20
- package/dist/adapter.js.map +1 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +103 -103
- package/dist/agent.js.map +1 -1
- package/dist/runtime/oauth-handler.d.ts.map +1 -1
- package/dist/runtime/oauth-handler.js.map +1 -1
- package/dist/services/kta-client-lookup.d.ts +3 -5
- package/dist/services/kta-client-lookup.d.ts.map +1 -1
- package/dist/services/kta-client-lookup.js +34 -13
- package/dist/services/kta-client-lookup.js.map +1 -1
- package/dist/utils/known-clients.d.ts +6 -14
- package/dist/utils/known-clients.d.ts.map +1 -1
- package/dist/utils/known-clients.js +11 -30
- package/dist/utils/known-clients.js.map +1 -1
- package/package.json +2 -2
- package/dist/__tests__/e2e/test-config.d.ts +0 -37
- package/dist/__tests__/e2e/test-config.d.ts.map +0 -1
- package/dist/__tests__/e2e/test-config.js +0 -62
- package/dist/__tests__/e2e/test-config.js.map +0 -1
- package/dist/utils/client-info.d.ts +0 -69
- package/dist/utils/client-info.d.ts.map +0 -1
- package/dist/utils/client-info.js +0 -178
- package/dist/utils/client-info.js.map +0 -1
- package/dist/utils/error-formatter.d.ts +0 -103
- package/dist/utils/error-formatter.d.ts.map +0 -1
- package/dist/utils/error-formatter.js +0 -245
- package/dist/utils/error-formatter.js.map +0 -1
- package/dist/utils/initialize-context.d.ts +0 -91
- package/dist/utils/initialize-context.d.ts.map +0 -1
- package/dist/utils/initialize-context.js +0 -169
- package/dist/utils/initialize-context.js.map +0 -1
- package/dist/utils/oauth-identity.d.ts +0 -58
- package/dist/utils/oauth-identity.d.ts.map +0 -1
- package/dist/utils/oauth-identity.js +0 -215
- package/dist/utils/oauth-identity.js.map +0 -1
|
@@ -12,8 +12,6 @@ export interface ClientIdentity {
|
|
|
12
12
|
did: string;
|
|
13
13
|
/** Source of the DID */
|
|
14
14
|
source: "knowthat.ai" | "kta-lookup" | "generated";
|
|
15
|
-
/** Whether this client is registered on knowthat.ai */
|
|
16
|
-
registered: boolean;
|
|
17
15
|
/** Canonical client ID if known */
|
|
18
16
|
knownClientId?: string;
|
|
19
17
|
/** Display name for logging */
|
|
@@ -45,9 +43,9 @@ export declare function lookupClientDidFromKTA(clientName: string, ktaApiUrl?: s
|
|
|
45
43
|
* Resolve client identity from MCP client info
|
|
46
44
|
*
|
|
47
45
|
* Priority:
|
|
48
|
-
* 1. Use
|
|
49
|
-
* 2. Look up DID from KTA API
|
|
50
|
-
* 3. Generate ephemeral DID for
|
|
46
|
+
* 1. Use pre-registered DID from known clients registry
|
|
47
|
+
* 2. Look up DID from KTA API (if API URL provided)
|
|
48
|
+
* 3. Generate ephemeral DID for unknown clients
|
|
51
49
|
*
|
|
52
50
|
* @param clientInfo - Client info from MCP initialize message
|
|
53
51
|
* @param ktaApiUrl - Optional KTA API URL for lookups
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kta-client-lookup.d.ts","sourceRoot":"","sources":["../../src/services/kta-client-lookup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,MAAM,EAAE,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC;IACnD,
|
|
1
|
+
{"version":3,"file":"kta-client-lookup.d.ts","sourceRoot":"","sources":["../../src/services/kta-client-lookup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,MAAM,EAAE,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC;IACnD,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA+BD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,MAA8B,GACxC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsCxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,aAAa,GAAG,SAAS,EACrC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAsEzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
|
|
@@ -71,9 +71,9 @@ export async function lookupClientDidFromKTA(clientName, ktaApiUrl = "https://kn
|
|
|
71
71
|
* Resolve client identity from MCP client info
|
|
72
72
|
*
|
|
73
73
|
* Priority:
|
|
74
|
-
* 1. Use
|
|
75
|
-
* 2. Look up DID from KTA API
|
|
76
|
-
* 3. Generate ephemeral DID for
|
|
74
|
+
* 1. Use pre-registered DID from known clients registry
|
|
75
|
+
* 2. Look up DID from KTA API (if API URL provided)
|
|
76
|
+
* 3. Generate ephemeral DID for unknown clients
|
|
77
77
|
*
|
|
78
78
|
* @param clientInfo - Client info from MCP initialize message
|
|
79
79
|
* @param ktaApiUrl - Optional KTA API URL for lookups
|
|
@@ -84,14 +84,37 @@ export async function resolveClientIdentity(clientInfo, ktaApiUrl) {
|
|
|
84
84
|
// Check known clients registry first
|
|
85
85
|
const knownClient = findKnownClient(clientName);
|
|
86
86
|
if (knownClient) {
|
|
87
|
-
// Known client found
|
|
88
|
-
|
|
87
|
+
// Known client found
|
|
88
|
+
if (knownClient.ktaDid) {
|
|
89
|
+
// Has pre-registered DID
|
|
90
|
+
return {
|
|
91
|
+
did: knownClient.ktaDid,
|
|
92
|
+
source: "knowthat.ai",
|
|
93
|
+
knownClientId: knownClient.id,
|
|
94
|
+
displayName: knownClient.displayName,
|
|
95
|
+
vendor: knownClient.vendor,
|
|
96
|
+
isKnown: true,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
// Known client but no pre-registered DID - try KTA lookup
|
|
100
|
+
if (ktaApiUrl) {
|
|
101
|
+
const ktaDid = await lookupClientDidFromKTA(clientName, ktaApiUrl);
|
|
102
|
+
if (ktaDid) {
|
|
103
|
+
return {
|
|
104
|
+
did: ktaDid,
|
|
105
|
+
source: "kta-lookup",
|
|
106
|
+
knownClientId: knownClient.id,
|
|
107
|
+
displayName: knownClient.displayName,
|
|
108
|
+
vendor: knownClient.vendor,
|
|
109
|
+
isKnown: true,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// Generate ephemeral DID for known client without registration
|
|
114
|
+
const ephemeralDid = await generateEphemeralDid(clientName);
|
|
89
115
|
return {
|
|
90
|
-
did:
|
|
91
|
-
|
|
92
|
-
// If known but not registered, source is "generated" (pending registration)
|
|
93
|
-
source: knownClient.ktaRegistered ? "knowthat.ai" : "generated",
|
|
94
|
-
registered: knownClient.ktaRegistered,
|
|
116
|
+
did: ephemeralDid,
|
|
117
|
+
source: "generated",
|
|
95
118
|
knownClientId: knownClient.id,
|
|
96
119
|
displayName: knownClient.displayName,
|
|
97
120
|
vendor: knownClient.vendor,
|
|
@@ -105,19 +128,17 @@ export async function resolveClientIdentity(clientInfo, ktaApiUrl) {
|
|
|
105
128
|
return {
|
|
106
129
|
did: ktaDid,
|
|
107
130
|
source: "kta-lookup",
|
|
108
|
-
registered: true, // Found on KTA API means registered
|
|
109
131
|
displayName: clientName,
|
|
110
132
|
vendor: clientInfo?.vendor,
|
|
111
133
|
isKnown: false,
|
|
112
134
|
};
|
|
113
135
|
}
|
|
114
136
|
}
|
|
115
|
-
// Generate ephemeral DID for
|
|
137
|
+
// Generate ephemeral DID for unknown client
|
|
116
138
|
const ephemeralDid = await generateEphemeralDid(clientName);
|
|
117
139
|
return {
|
|
118
140
|
did: ephemeralDid,
|
|
119
141
|
source: "generated",
|
|
120
|
-
registered: false, // Unknown clients are not registered
|
|
121
142
|
displayName: clientName,
|
|
122
143
|
vendor: clientInfo?.vendor,
|
|
123
144
|
isKnown: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kta-client-lookup.js","sourceRoot":"","sources":["../../src/services/kta-client-lookup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,eAAe,GAEhB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"kta-client-lookup.js","sourceRoot":"","sources":["../../src/services/kta-client-lookup.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,19 +2,17 @@
|
|
|
2
2
|
* Known MCP Clients Registry
|
|
3
3
|
*
|
|
4
4
|
* Maps known MCP client names to their official Know That AI (KTA) DIDs.
|
|
5
|
-
*
|
|
5
|
+
* When a known client connects, we use its pre-registered DID instead of generating one.
|
|
6
6
|
*/
|
|
7
7
|
export interface KnownClientConfig {
|
|
8
8
|
/** Possible client name variations (case-insensitive matching) */
|
|
9
9
|
names: string[];
|
|
10
|
-
/** Know That AI DID for this client (
|
|
11
|
-
ktaDid: string;
|
|
12
|
-
/** Whether this client is actually registered on knowthat.ai */
|
|
13
|
-
ktaRegistered: boolean;
|
|
10
|
+
/** Know That AI registered DID for this client (null if not yet registered) */
|
|
11
|
+
ktaDid: string | null;
|
|
14
12
|
/** Display name for logging */
|
|
15
13
|
displayName: string;
|
|
16
|
-
/**
|
|
17
|
-
vendor
|
|
14
|
+
/** Optional vendor/organization */
|
|
15
|
+
vendor?: string;
|
|
18
16
|
}
|
|
19
17
|
/**
|
|
20
18
|
* Registry of known MCP clients
|
|
@@ -22,8 +20,6 @@ export interface KnownClientConfig {
|
|
|
22
20
|
* Each entry maps a canonical client ID to its configuration.
|
|
23
21
|
* The `names` array contains possible variations of the client name
|
|
24
22
|
* that might appear in the MCP initialize message's clientInfo.name field.
|
|
25
|
-
*
|
|
26
|
-
* All known clients get a did:web DID. ktaRegistered indicates if actually on KTA.
|
|
27
23
|
*/
|
|
28
24
|
export declare const KNOWN_MCP_CLIENTS: Record<string, KnownClientConfig>;
|
|
29
25
|
/**
|
|
@@ -40,13 +36,9 @@ export declare function findKnownClient(clientName: string | undefined): (KnownC
|
|
|
40
36
|
*/
|
|
41
37
|
export declare function isKnownClient(clientName: string | undefined): boolean;
|
|
42
38
|
/**
|
|
43
|
-
* Get the DID for a known client
|
|
39
|
+
* Get the DID for a known client, if registered
|
|
44
40
|
*/
|
|
45
41
|
export declare function getKnownClientDid(clientName: string | undefined): string | null;
|
|
46
|
-
/**
|
|
47
|
-
* Check if a known client is registered on KTA
|
|
48
|
-
*/
|
|
49
|
-
export declare function isKnownClientRegistered(clientName: string | undefined): boolean;
|
|
50
42
|
/**
|
|
51
43
|
* Get all known client IDs
|
|
52
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"known-clients.d.ts","sourceRoot":"","sources":["../../src/utils/known-clients.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB
|
|
1
|
+
{"version":3,"file":"known-clients.d.ts","sourceRoot":"","sources":["../../src/utils/known-clients.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+EAA+E;IAC/E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAsF/D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,CAAC,iBAAiB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,CAclD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAErE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,MAAM,GAAG,IAAI,CAGf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Known MCP Clients Registry
|
|
3
3
|
*
|
|
4
4
|
* Maps known MCP client names to their official Know That AI (KTA) DIDs.
|
|
5
|
-
*
|
|
5
|
+
* When a known client connects, we use its pre-registered DID instead of generating one.
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
8
|
* Registry of known MCP clients
|
|
@@ -10,8 +10,6 @@
|
|
|
10
10
|
* Each entry maps a canonical client ID to its configuration.
|
|
11
11
|
* The `names` array contains possible variations of the client name
|
|
12
12
|
* that might appear in the MCP initialize message's clientInfo.name field.
|
|
13
|
-
*
|
|
14
|
-
* All known clients get a did:web DID. ktaRegistered indicates if actually on KTA.
|
|
15
13
|
*/
|
|
16
14
|
export const KNOWN_MCP_CLIENTS = {
|
|
17
15
|
// ============================================================
|
|
@@ -29,8 +27,7 @@ export const KNOWN_MCP_CLIENTS = {
|
|
|
29
27
|
"Claude Code", // CLI/code client
|
|
30
28
|
"claude-code",
|
|
31
29
|
],
|
|
32
|
-
ktaDid: "did:web:knowthat.ai:agents:claude",
|
|
33
|
-
ktaRegistered: true, // https://knowthat.ai/agents/claude
|
|
30
|
+
ktaDid: "did:web:knowthat.ai:agents:claude", // https://knowthat.ai/agents/claude
|
|
34
31
|
displayName: "Claude",
|
|
35
32
|
vendor: "Anthropic",
|
|
36
33
|
},
|
|
@@ -42,11 +39,8 @@ export const KNOWN_MCP_CLIENTS = {
|
|
|
42
39
|
"ChatGPT App",
|
|
43
40
|
"OpenAI ChatGPT",
|
|
44
41
|
"OpenAI",
|
|
45
|
-
"OpenAI-MCP", // ChatGPT MCP client name
|
|
46
|
-
"openai-mcp",
|
|
47
42
|
],
|
|
48
|
-
ktaDid: "did:web:knowthat.ai:agents:chatgpt",
|
|
49
|
-
ktaRegistered: true, // https://knowthat.ai/agents/chatgpt
|
|
43
|
+
ktaDid: "did:web:knowthat.ai:agents:chatgpt", // https://knowthat.ai/agents/chatgpt
|
|
50
44
|
displayName: "ChatGPT",
|
|
51
45
|
vendor: "OpenAI",
|
|
52
46
|
},
|
|
@@ -58,13 +52,12 @@ export const KNOWN_MCP_CLIENTS = {
|
|
|
58
52
|
"perplexity-ai",
|
|
59
53
|
"Perplexity App",
|
|
60
54
|
],
|
|
61
|
-
ktaDid: "did:web:knowthat.ai:agents:perplexity",
|
|
62
|
-
ktaRegistered: true, // https://knowthat.ai/agents/perplexity
|
|
55
|
+
ktaDid: "did:web:knowthat.ai:agents:perplexity", // https://knowthat.ai/agents/perplexity
|
|
63
56
|
displayName: "Perplexity",
|
|
64
57
|
vendor: "Perplexity AI",
|
|
65
58
|
},
|
|
66
59
|
// ============================================================
|
|
67
|
-
//
|
|
60
|
+
// UNREGISTERED CLIENTS (no KTA DID yet - will get ephemeral DID)
|
|
68
61
|
// ============================================================
|
|
69
62
|
"mcp-inspector": {
|
|
70
63
|
names: [
|
|
@@ -75,36 +68,31 @@ export const KNOWN_MCP_CLIENTS = {
|
|
|
75
68
|
"Inspector",
|
|
76
69
|
"inspector-client", // Name sent by inspector CLI
|
|
77
70
|
],
|
|
78
|
-
ktaDid:
|
|
79
|
-
ktaRegistered: false, // Pending registration on knowthat.ai
|
|
71
|
+
ktaDid: null, // Not yet registered on knowthat.ai
|
|
80
72
|
displayName: "MCP Inspector",
|
|
81
73
|
vendor: "Anthropic",
|
|
82
74
|
},
|
|
83
75
|
"cursor": {
|
|
84
76
|
names: ["Cursor", "cursor", "cursor-ai", "Cursor AI", "Cursor IDE"],
|
|
85
|
-
ktaDid:
|
|
86
|
-
ktaRegistered: false, // Pending registration on knowthat.ai
|
|
77
|
+
ktaDid: null, // Not yet registered on knowthat.ai
|
|
87
78
|
displayName: "Cursor",
|
|
88
79
|
vendor: "Cursor Inc",
|
|
89
80
|
},
|
|
90
81
|
"windsurf": {
|
|
91
82
|
names: ["Windsurf", "windsurf", "Codeium Windsurf"],
|
|
92
|
-
ktaDid:
|
|
93
|
-
ktaRegistered: false, // Pending registration on knowthat.ai
|
|
83
|
+
ktaDid: null, // Not yet registered on knowthat.ai
|
|
94
84
|
displayName: "Windsurf",
|
|
95
85
|
vendor: "Codeium",
|
|
96
86
|
},
|
|
97
87
|
"cline": {
|
|
98
88
|
names: ["Cline", "cline", "VS Code Cline", "vscode-cline"],
|
|
99
|
-
ktaDid:
|
|
100
|
-
ktaRegistered: false, // Pending registration on knowthat.ai
|
|
89
|
+
ktaDid: null, // Not yet registered on knowthat.ai
|
|
101
90
|
displayName: "Cline",
|
|
102
91
|
vendor: "Cline",
|
|
103
92
|
},
|
|
104
93
|
"zed": {
|
|
105
94
|
names: ["Zed", "zed", "Zed Editor", "zed-editor"],
|
|
106
|
-
ktaDid:
|
|
107
|
-
ktaRegistered: false, // Pending registration on knowthat.ai
|
|
95
|
+
ktaDid: null, // Not yet registered on knowthat.ai
|
|
108
96
|
displayName: "Zed",
|
|
109
97
|
vendor: "Zed Industries",
|
|
110
98
|
},
|
|
@@ -135,19 +123,12 @@ export function isKnownClient(clientName) {
|
|
|
135
123
|
return findKnownClient(clientName) !== undefined;
|
|
136
124
|
}
|
|
137
125
|
/**
|
|
138
|
-
* Get the DID for a known client
|
|
126
|
+
* Get the DID for a known client, if registered
|
|
139
127
|
*/
|
|
140
128
|
export function getKnownClientDid(clientName) {
|
|
141
129
|
const known = findKnownClient(clientName);
|
|
142
130
|
return known?.ktaDid ?? null;
|
|
143
131
|
}
|
|
144
|
-
/**
|
|
145
|
-
* Check if a known client is registered on KTA
|
|
146
|
-
*/
|
|
147
|
-
export function isKnownClientRegistered(clientName) {
|
|
148
|
-
const known = findKnownClient(clientName);
|
|
149
|
-
return known?.ktaRegistered ?? false;
|
|
150
|
-
}
|
|
151
132
|
/**
|
|
152
133
|
* Get all known client IDs
|
|
153
134
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"known-clients.js","sourceRoot":"","sources":["../../src/utils/known-clients.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"known-clients.js","sourceRoot":"","sources":["../../src/utils/known-clients.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kya-os/mcp-i-cloudflare",
|
|
3
|
-
"version": "1.6.21
|
|
3
|
+
"version": "1.6.21",
|
|
4
4
|
"description": "Cloudflare Workers adapter for MCP-I framework",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@kya-os/contracts": "^1.6.1",
|
|
21
|
-
"@kya-os/mcp-i-core": "
|
|
21
|
+
"@kya-os/mcp-i-core": "^1.3.6",
|
|
22
22
|
"@modelcontextprotocol/sdk": "^1.19.1",
|
|
23
23
|
"agents": "^0.2.21",
|
|
24
24
|
"base-x": "^5.0.0",
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* E2E Test Configuration
|
|
3
|
-
*
|
|
4
|
-
* This file contains configuration for end-to-end tests that use real AgentShield API.
|
|
5
|
-
* Set these environment variables before running E2E tests:
|
|
6
|
-
*
|
|
7
|
-
* ```bash
|
|
8
|
-
* export E2E_AGENTSHIELD_API_KEY="sk_test_..."
|
|
9
|
-
* export E2E_AGENTSHIELD_PROJECT_ID="test-project-id"
|
|
10
|
-
* export E2E_AGENTSHIELD_API_URL="https://kya.vouched.id" # Optional, defaults to production
|
|
11
|
-
* ```
|
|
12
|
-
*
|
|
13
|
-
* Or create a `.env.e2e` file in the package root:
|
|
14
|
-
* ```
|
|
15
|
-
* E2E_AGENTSHIELD_API_KEY=sk_test_...
|
|
16
|
-
* E2E_AGENTSHIELD_PROJECT_ID=test-project-id
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
export interface E2ETestConfig {
|
|
20
|
-
apiKey: string;
|
|
21
|
-
projectId: string;
|
|
22
|
-
apiUrl: string;
|
|
23
|
-
enabled: boolean;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Load E2E test configuration from environment variables
|
|
27
|
-
*/
|
|
28
|
-
export declare function loadE2EConfig(): E2ETestConfig | null;
|
|
29
|
-
/**
|
|
30
|
-
* Check if E2E tests should run
|
|
31
|
-
*/
|
|
32
|
-
export declare function shouldRunE2ETests(): boolean;
|
|
33
|
-
/**
|
|
34
|
-
* Get E2E test configuration or throw if not configured
|
|
35
|
-
*/
|
|
36
|
-
export declare function getE2EConfig(): E2ETestConfig;
|
|
37
|
-
//# sourceMappingURL=test-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-config.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAWH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,aAAa,GAAG,IAAI,CAyBpD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAG3C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,aAAa,CAU5C"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* E2E Test Configuration
|
|
3
|
-
*
|
|
4
|
-
* This file contains configuration for end-to-end tests that use real AgentShield API.
|
|
5
|
-
* Set these environment variables before running E2E tests:
|
|
6
|
-
*
|
|
7
|
-
* ```bash
|
|
8
|
-
* export E2E_AGENTSHIELD_API_KEY="sk_test_..."
|
|
9
|
-
* export E2E_AGENTSHIELD_PROJECT_ID="test-project-id"
|
|
10
|
-
* export E2E_AGENTSHIELD_API_URL="https://kya.vouched.id" # Optional, defaults to production
|
|
11
|
-
* ```
|
|
12
|
-
*
|
|
13
|
-
* Or create a `.env.e2e` file in the package root:
|
|
14
|
-
* ```
|
|
15
|
-
* E2E_AGENTSHIELD_API_KEY=sk_test_...
|
|
16
|
-
* E2E_AGENTSHIELD_PROJECT_ID=test-project-id
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
/**
|
|
20
|
-
* Load E2E test configuration from environment variables
|
|
21
|
-
*/
|
|
22
|
-
export function loadE2EConfig() {
|
|
23
|
-
// Access environment variables - works in Node.js (vitest) environment
|
|
24
|
-
const apiKey = typeof process !== "undefined" && process.env
|
|
25
|
-
? process.env.E2E_AGENTSHIELD_API_KEY
|
|
26
|
-
: undefined;
|
|
27
|
-
const projectId = typeof process !== "undefined" && process.env
|
|
28
|
-
? process.env.E2E_AGENTSHIELD_PROJECT_ID
|
|
29
|
-
: undefined;
|
|
30
|
-
const apiUrl = typeof process !== "undefined" && process.env
|
|
31
|
-
? process.env.E2E_AGENTSHIELD_API_URL || "https://kya.vouched.id"
|
|
32
|
-
: "https://kya.vouched.id";
|
|
33
|
-
if (!apiKey || !projectId) {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
return {
|
|
37
|
-
apiKey,
|
|
38
|
-
projectId,
|
|
39
|
-
apiUrl,
|
|
40
|
-
enabled: true,
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Check if E2E tests should run
|
|
45
|
-
*/
|
|
46
|
-
export function shouldRunE2ETests() {
|
|
47
|
-
const config = loadE2EConfig();
|
|
48
|
-
return config !== null && config.enabled;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Get E2E test configuration or throw if not configured
|
|
52
|
-
*/
|
|
53
|
-
export function getE2EConfig() {
|
|
54
|
-
const config = loadE2EConfig();
|
|
55
|
-
if (!config) {
|
|
56
|
-
throw new Error("E2E tests require E2E_AGENTSHIELD_API_KEY and E2E_AGENTSHIELD_PROJECT_ID environment variables.\n" +
|
|
57
|
-
"Set them in your environment or create a .env.e2e file.\n" +
|
|
58
|
-
"See packages/mcp-i-cloudflare/src/__tests__/e2e/test-config.ts for details.");
|
|
59
|
-
}
|
|
60
|
-
return config;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=test-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-config.js","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAkBH;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,uEAAuE;IACvE,MAAM,MAAM,GACV,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG;QAC3C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB;QACrC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,SAAS,GACb,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG;QAC3C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B;QACxC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,MAAM,GACV,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG;QAC3C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,wBAAwB;QACjE,CAAC,CAAC,wBAAwB,CAAC;IAE/B,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,MAAM;QACN,SAAS;QACT,MAAM;QACN,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,mGAAmG;YACjG,2DAA2D;YAC3D,6EAA6E,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Client Info Utilities
|
|
3
|
-
*
|
|
4
|
-
* Handles MCP client information extraction, normalization, and handshake payload preparation.
|
|
5
|
-
* This consolidates logic for working with client metadata across initialize and handshake.
|
|
6
|
-
*/
|
|
7
|
-
import type { HandshakeRequest, MCPClientCapabilities } from "@kya-os/contracts/handshake";
|
|
8
|
-
import type { MCPClientInfo as SessionClientInfo } from "../types/client";
|
|
9
|
-
/**
|
|
10
|
-
* Initialize context with client information
|
|
11
|
-
*/
|
|
12
|
-
export interface InitializeContext {
|
|
13
|
-
timestamp: number;
|
|
14
|
-
protocolVersion?: string;
|
|
15
|
-
capabilities?: MCPClientCapabilities;
|
|
16
|
-
clientInfo?: Partial<SessionClientInfo>;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Normalize client info from various formats
|
|
20
|
-
*
|
|
21
|
-
* @param value Client info from request (could be from initialize or handshake)
|
|
22
|
-
* @returns Normalized client info or undefined if invalid
|
|
23
|
-
*/
|
|
24
|
-
export declare function normalizeClientInfo(value: unknown): Partial<SessionClientInfo> | undefined;
|
|
25
|
-
/**
|
|
26
|
-
* Extract MCP client information from handshake request and initialize context
|
|
27
|
-
*
|
|
28
|
-
* @param request Handshake request
|
|
29
|
-
* @param initializeContext Optional context from previous initialize call
|
|
30
|
-
* @returns Extracted and normalized client info or undefined
|
|
31
|
-
*/
|
|
32
|
-
export declare function extractMCPClient(request: HandshakeRequest, initializeContext?: InitializeContext): SessionClientInfo | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* Prepare handshake payload with client information from initialize context
|
|
35
|
-
*
|
|
36
|
-
* @param params Original handshake request parameters
|
|
37
|
-
* @param initializeContext Optional context from previous initialize call
|
|
38
|
-
* @returns Enhanced handshake request with client info
|
|
39
|
-
*/
|
|
40
|
-
export declare function prepareHandshakePayload(params: HandshakeRequest, initializeContext?: InitializeContext): HandshakeRequest;
|
|
41
|
-
/**
|
|
42
|
-
* Clone capabilities object (deep copy)
|
|
43
|
-
*
|
|
44
|
-
* @param capabilities Capabilities to clone
|
|
45
|
-
* @returns Cloned capabilities or undefined
|
|
46
|
-
*/
|
|
47
|
-
export declare function cloneCapabilities(capabilities: unknown): MCPClientCapabilities | undefined;
|
|
48
|
-
/**
|
|
49
|
-
* Type guard for record objects
|
|
50
|
-
*
|
|
51
|
-
* @param value Value to check
|
|
52
|
-
* @returns true if value is a record object
|
|
53
|
-
*/
|
|
54
|
-
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
55
|
-
/**
|
|
56
|
-
* Extract client ID from client info if available
|
|
57
|
-
*
|
|
58
|
-
* @param clientInfo Client info object
|
|
59
|
-
* @returns Client ID or undefined
|
|
60
|
-
*/
|
|
61
|
-
export declare function extractClientId(clientInfo: unknown): string | undefined;
|
|
62
|
-
/**
|
|
63
|
-
* Merge client info from multiple sources
|
|
64
|
-
*
|
|
65
|
-
* @param sources Array of potential client info sources (later sources override earlier)
|
|
66
|
-
* @returns Merged client info
|
|
67
|
-
*/
|
|
68
|
-
export declare function mergeClientInfo(...sources: (Partial<SessionClientInfo> | undefined)[]): Partial<SessionClientInfo>;
|
|
69
|
-
//# sourceMappingURL=client-info.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-info.d.ts","sourceRoot":"","sources":["../../src/utils/client-info.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAuCxC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,iBAAiB,GAAG,SAAS,CAkD/B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,gBAAgB,CA8BlB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,OAAO,GACpB,qBAAqB,GAAG,SAAS,CAMnC;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,OAAO,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,EAAE,GACrD,OAAO,CAAC,iBAAiB,CAAC,CAU5B"}
|