@kya-os/mcp-i-cloudflare 1.4.1-canary.0 → 1.4.1-canary.10
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/README.md +120 -1
- package/dist/adapter.d.ts +6 -0
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +29 -0
- package/dist/adapter.js.map +1 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +8 -0
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts +6 -3
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +14 -1
- package/dist/app.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime.d.ts +22 -8
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +125 -28
- package/dist/runtime.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +23 -4
- package/dist/server.js.map +1 -1
- package/dist/services/admin.service.d.ts.map +1 -1
- package/dist/services/admin.service.js +36 -3
- package/dist/services/admin.service.js.map +1 -1
- package/dist/services/consent-config.service.d.ts +46 -0
- package/dist/services/consent-config.service.d.ts.map +1 -0
- package/dist/services/consent-config.service.js +157 -0
- package/dist/services/consent-config.service.js.map +1 -0
- package/dist/services/consent-page-renderer.d.ts +137 -0
- package/dist/services/consent-page-renderer.d.ts.map +1 -0
- package/dist/services/consent-page-renderer.js +539 -0
- package/dist/services/consent-page-renderer.js.map +1 -0
- package/dist/services/consent.service.d.ts +58 -3
- package/dist/services/consent.service.d.ts.map +1 -1
- package/dist/services/consent.service.js +373 -18
- package/dist/services/consent.service.js.map +1 -1
- package/dist/services/proof-batch-queue.d.ts +104 -0
- package/dist/services/proof-batch-queue.d.ts.map +1 -0
- package/dist/services/proof-batch-queue.js +209 -0
- package/dist/services/proof-batch-queue.js.map +1 -0
- package/dist/services/proof.service.d.ts +38 -1
- package/dist/services/proof.service.d.ts.map +1 -1
- package/dist/services/proof.service.js +214 -21
- package/dist/services/proof.service.js.map +1 -1
- package/dist/services/transport.service.d.ts +47 -0
- package/dist/services/transport.service.d.ts.map +1 -0
- package/dist/services/transport.service.js +76 -0
- package/dist/services/transport.service.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport Detection Service
|
|
3
|
+
*
|
|
4
|
+
* Detects the transport type (HTTP, SSE, STDIO) and determines the appropriate
|
|
5
|
+
* consent strategy (server-hosted vs dashboard-hosted).
|
|
6
|
+
*
|
|
7
|
+
* Related Spec: MCP-I Phase 0 Implementation Plan, Task B.2
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Transport Service
|
|
11
|
+
*
|
|
12
|
+
* Provides utilities for detecting transport type and determining consent strategy
|
|
13
|
+
*/
|
|
14
|
+
export class TransportService {
|
|
15
|
+
/**
|
|
16
|
+
* Detect the current transport type
|
|
17
|
+
*
|
|
18
|
+
* Detection logic:
|
|
19
|
+
* - Cloudflare Workers: Always HTTP capable (Request/Response available)
|
|
20
|
+
* - STDIO transport: process.stdin/stdout available (no HTTP server)
|
|
21
|
+
* - Default: HTTP (most common)
|
|
22
|
+
*
|
|
23
|
+
* @returns Detected transport type
|
|
24
|
+
*/
|
|
25
|
+
static detectTransport() {
|
|
26
|
+
// Cloudflare Workers - always HTTP capable
|
|
27
|
+
// Check for Request/Response globals (Cloudflare Workers environment)
|
|
28
|
+
if (typeof Request !== 'undefined' && typeof Response !== 'undefined') {
|
|
29
|
+
return 'http';
|
|
30
|
+
}
|
|
31
|
+
// STDIO transport (Node.js with stdin/stdout, no HTTP server)
|
|
32
|
+
// Check for Node.js process object with stdin/stdout
|
|
33
|
+
// Use type assertion to avoid TypeScript errors in Cloudflare Workers environment
|
|
34
|
+
const proc = typeof globalThis !== 'undefined' && 'process' in globalThis
|
|
35
|
+
? globalThis.process
|
|
36
|
+
: undefined;
|
|
37
|
+
if (proc &&
|
|
38
|
+
proc.stdin &&
|
|
39
|
+
proc.stdout &&
|
|
40
|
+
!proc.env?.NODE_ENV?.includes('worker')) {
|
|
41
|
+
return 'stdio';
|
|
42
|
+
}
|
|
43
|
+
// Default to HTTP for unknown environments
|
|
44
|
+
// This covers most web-based scenarios
|
|
45
|
+
return 'http';
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get consent strategy based on transport type
|
|
49
|
+
*
|
|
50
|
+
* Strategy selection:
|
|
51
|
+
* - STDIO: dashboard-hosted (can't serve HTTP pages)
|
|
52
|
+
* - HTTP/SSE: server-hosted (can serve consent pages)
|
|
53
|
+
*
|
|
54
|
+
* @param transport - Optional transport type (auto-detected if not provided)
|
|
55
|
+
* @returns Consent strategy
|
|
56
|
+
*/
|
|
57
|
+
static getConsentStrategy(transport) {
|
|
58
|
+
const detected = transport || this.detectTransport();
|
|
59
|
+
// STDIO can't serve HTTP pages, must use dashboard-hosted consent
|
|
60
|
+
if (detected === 'stdio') {
|
|
61
|
+
return 'dashboard-hosted';
|
|
62
|
+
}
|
|
63
|
+
// HTTP/SSE can serve consent pages directly
|
|
64
|
+
return 'server-hosted';
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Check if server-hosted consent is available
|
|
68
|
+
*
|
|
69
|
+
* @param transport - Optional transport type (auto-detected if not provided)
|
|
70
|
+
* @returns true if server-hosted consent is available
|
|
71
|
+
*/
|
|
72
|
+
static canServeConsentPage(transport) {
|
|
73
|
+
return this.getConsentStrategy(transport) === 'server-hosted';
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=transport.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.service.js","sourceRoot":"","sources":["../../src/services/transport.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;;;;;;;;OASG;IACH,MAAM,CAAC,eAAe;QACpB,2CAA2C;QAC3C,sEAAsE;QACtE,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACtE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,8DAA8D;QAC9D,qDAAqD;QACrD,kFAAkF;QAClF,MAAM,IAAI,GAAG,OAAO,UAAU,KAAK,WAAW,IAAI,SAAS,IAAI,UAAU;YACvE,CAAC,CAAE,UAA+F,CAAC,OAAO;YAC1G,CAAC,CAAC,SAAS,CAAC;QACd,IACE,IAAI;YACJ,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,MAAM;YACX,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EACvC,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,2CAA2C;QAC3C,uCAAuC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,kBAAkB,CAAC,SAAyB;QACjD,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAErD,kEAAkE;QAClE,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAED,4CAA4C;QAC5C,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,SAAyB;QAClD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,eAAe,CAAC;IAChE,CAAC;CACF"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;CAC1C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kya-os/mcp-i-cloudflare",
|
|
3
|
-
"version": "1.4.1-canary.
|
|
3
|
+
"version": "1.4.1-canary.10",
|
|
4
4
|
"description": "Cloudflare Workers implementation of MCP-I framework",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"edge"
|
|
39
39
|
],
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@kya-os/contracts": "1.5.2-canary.
|
|
41
|
+
"@kya-os/contracts": "1.5.2-canary.2",
|
|
42
42
|
"@kya-os/mcp-i-core": "1.1.13-canary.1",
|
|
43
43
|
"@modelcontextprotocol/sdk": "^1.11.4",
|
|
44
44
|
"base-x": "^5.0.1"
|